Seite 1 von 1

Umstellung von PHP 5.6 auf 7.2

Verfasst: Di 18.Sep, 2018 08:44
von erzvolker58
hallo,
bei mir steht die umstellung auf php 7.2 an und damit kommen die probleme :eek:
geht erstmal nicht um das forum, es ist die internetseite. habe gelesen, das mysgl nicht mehr geht, sondern mysqli soll das nun heissen.

wie kann ich das ändern?

zb. hier

Code: Alles auswählen

<?php
$db="xxx";
$dbuser="xxx";
$dbpasswd="yyy";
$dbhost="localhost";
$con=mysql_connect($dbhost, $dbuser, $dbpasswd);
?>
und ein ausschnitt aus der anderen datei

Code: Alles auswählen

<?php include("./header.php"); $title = "FK"; ?>
<!-- start page -->
<?php	
$fkid = $_GET["fk_id"];
	
include("data/data.php"); 
mysql_select_db($db);
	
$suche_fk = "SELECT * FROM freundeskreise WHERE fid = '$fkid'";

		$liste2 = mysql_query($suche_fk, $con)
		or die ("Konnte Liste nicht abfragen, weil: ". mysql_error());
		
		while ($row2 = mysql_fetch_object($liste2)) {
		
	
echo "
das habe ich schon versucht, komme da aber nicht so richtig weiter

Code: Alles auswählen

<?php
$pdo = new PDO('mysql:host=localhost;dbname=test', 'username', 'password');
?>
würde mich freuen, wenn du mir wieder etwas helfen kannst. vielen dank

Re: Umstellung von PHP 5.6 auf 7.2

Verfasst: Di 18.Sep, 2018 19:02
von oxpus
Ähm, die Befehle heißen nun alle... mysqli... und werden dazu auch etwas anders geschrieben, bzw. die Parameter sind teilweise getauscht. Wäre sonst ja auch zu einfach.
Schau daher bitte bei php.net nach, wie die Befehle nun heißen und anzuwenden sind.
Meist ist es nicht viel, was man ändern muss, aber da fast alle Befehle voneinander abweichen, wäre hier im Forum ein Roman dafür zu erstellen und daher der falsche Platz.

Tipp:
Meist wurde in den Befehlsnamen nur mysql durch mysqli ersetzt. Aber eben die Parameter/-Reihenfolge können voneinander abweichen.

Hilfestellung, wenngleich in englisch, aber übersichtlich: https://www.phpclasses.org/blog/package ... ySQLi.html

Re: Umstellung von PHP 5.6 auf 7.2

Verfasst: Fr 18.Jan, 2019 13:31
von volker58
hallo karsten,

ich habe da immer noch ein problem, kannst du bitte mal schauen, ob da was falsch ist?

Code: Alles auswählen

<?php
session_start();

if($_SESSION['passwd'] != "ja")
{	
	session_destroy();
	echo "Sie sind nicht eingeloggt!<meta http-equiv = 'refresh' content='1; URL=./index.php'>";
}
elseif($_SESSION['passwd'] == "ja"){
	
if(!isset($_SESSION['session_ID'])) {
$_SESSION['session_ID'] = session_id();
$_SESSION[uhrzeit]=date("Y-m-d H:i:s");

}
}
?>
<?php
include("./data/data.php");
mysqli_select_db($con, $db);	

$webtext1 = (isset($_POST["webtext1"])) ? mysqli_real_escape_string($_POST["webtext1"]): '';
$webtext2 = (isset($_POST["webtext2"])) ? mysqli_real_escape_string($_POST["webtext2"]): '';
$titel1 = (isset($_POST["titel1_aendern"])) ? mysqli_real_escape_string($_POST["titel1_aendern"]): '';
$titel2 = (isset($_POST["titel2_aendern"])) ? mysqli_real_escape_string($_POST["titel2_aendern"]): '';
$web = (isset($_POST["web"])) ? mysqli_real_escape_string($_POST["web"]): '';
$webseite = (isset($_POST["webseite"])) ? mysqli_real_escape_string($_POST["webseite"]): '';
echo "web: ".$web."<br>titel: ".$titel1;

if($web == "neu") {
	
		$web_neu = "INSERT INTO freundeskreise_web(fid_web, text1, text2, titel1, titel2, website) ";
		$web_neu .= "VALUES('$_SESSION[fk_id]', '$webtext1', '$webtext2', '$titel1', '$titel2', '$webseite') ";

		$web_eintragen = mysqli_query($con, $web_neu)
		or die ("Konnte Termine nicht eintragen, weil: ". mysqli_error());

		echo "Sie werden gleich weitergeleitet !<meta http-equiv = 'refresh' content='1; URL=./webeingabe.php'>";

}

elseif($web == "update") {
	
	$web_aendern = "UPDATE freundeskreise_web SET text1 = '$webtext1', text2 = '$webtext2', titel1 = '$titel1', titel2 = '$titel2', ";
	$web_aendern .= "website = '$webseite' WHERE fid_web ='$_SESSION[fk_id]'";

		$web_aendern2 = mysqli_query($con, $web_aendern)
		or die ("Konnte Termine nicht ändern, weil: ". mysqli_error());
	
	echo "Sie werden gleich weitergeleitet !<meta http-equiv = 'refresh' content='1; URL=./webeingabe.php'>";
	
}

mysqli_close($con);
?>

Re: Umstellung von PHP 5.6 auf 7.2

Verfasst: Fr 18.Jan, 2019 16:49
von oxpus
Was für ein Problem?
Fehlermeldungen oder Session-Fehler oder was?

Re: Umstellung von PHP 5.6 auf 7.2

Verfasst: Fr 18.Jan, 2019 17:11
von volker58
keine fehlermeldung auch in der log kein fehler, aber er speichert das formular nicht und geht nicht zurück auf die seite webeingabe.php
da steht dann nur
web:
titel:

Re: Umstellung von PHP 5.6 auf 7.2

Verfasst: Fr 18.Jan, 2019 21:37
von oxpus
Versuche es mal so:

Code: Alles auswählen

<?php

session_start();

if($_SESSION['passwd'] != "ja")
{	
	session_destroy();
//	echo "Sie sind nicht eingeloggt!<meta http-equiv = 'refresh' content='1; URL=./index.php'>";
    echo "Sie sind nicht eingeloggt!";
    sleep(1);
    header('Location: index.php');
}
elseif($_SESSION['passwd'] == "ja"){
	
if(!isset($_SESSION['session_id'])) {
$_SESSION['session_id'] = session_id();
$_SESSION['uhrzeit'] = date("Y-m-d H:i:s");

}
}
?>
<?php
include("./data/data.php");
mysqli_select_db($con, $db);	

$webtext1 = (isset($_POST["webtext1"])) ? mysqli_real_escape_string($con, $_POST["webtext1"]): '';
$webtext2 = (isset($_POST["webtext2"])) ? mysqli_real_escape_string($con, $_POST["webtext2"]): '';
$titel1 = (isset($_POST["titel1_aendern"])) ? mysqli_real_escape_string($con, $_POST["titel1_aendern"]): '';
$titel2 = (isset($_POST["titel2_aendern"])) ? mysqli_real_escape_string($con, $_POST["titel2_aendern"]): '';
$web = (isset($_POST["web"])) ? mysqli_real_escape_string($con, $_POST["web"]): '';
$webseite = (isset($_POST["webseite"])) ? mysqli_real_escape_string($con, $_POST["webseite"]): '';
echo "web: ".$web."<br>titel: ".$titel1;

if($web == "neu") {
	
		$web_neu = "INSERT INTO freundeskreise_web(fid_web, text1, text2, titel1, titel2, website) ";
		$web_neu .= "VALUES('" .$_SESSION['fk_id'] . "', '$webtext1', '$webtext2', '$titel1', '$titel2', '$webseite') ";

		$web_eintragen = mysqli_query($con, $web_neu)
		or die ("Konnte Termine nicht eintragen, weil: ". mysqli_error($con));

//		echo "Sie werden gleich weitergeleitet !<meta http-equiv = 'refresh' content='1; URL=./webeingabe.php'>";
        echo "Sie werden gleich weitergeleitet !";
        sleep(1);
        header('Location: webeingabe.php');

}

elseif($web == "update") {
	
	$web_aendern = "UPDATE freundeskreise_web SET text1 = '$webtext1', text2 = '$webtext2', titel1 = '$titel1', titel2 = '$titel2', ";
	$web_aendern .= "website = '$webseite' WHERE fid_web = '" .$_SESSION['fk_id'] . "'";

		$web_aendern2 = mysqli_query($con, $web_aendern)
		or die ("Konnte Termine nicht ändern, weil: ". mysqli_error($con));
	
//	echo "Sie werden gleich weitergeleitet !<meta http-equiv = 'refresh' content='1; URL=./webeingabe.php'>";
    echo "Sie werden gleich weitergeleitet !";
    sleep(1);
    header('Location: webeingabe.php');

}

mysqli_close($con);
Zunächst zur Datenbank:
Alle, wirklich (fast) alle mysqli-Befehle beziehen sich auf eine Verbindungs-ID, bei dir $con.
Das muss also überall rein, auch unerwarteter Weise in mysqli_real_escape_string();

Dann zu deiner Weiterleitung:
Ein HTML-Meta zu verwenden, setzt voraus, dass man genau an dieser Stelle auch in den Header der Webseite schreibt. Das ist aber in deinem Script nirgends gegeben!
Besser ist es, wenn man schon php nutzt, mit header() zu arbeiten, wie ich das jetzt umgebaut habe.
sleep(1) ist dabei 1 Sekunde Wartezeit, bevor das Script fortfährt. Das wäre vergleichbar mit der verzögerten Weiterleitung mittels meta-Tag.
Wobei 3 Sekunden dem User besser stehen würden, denn in einer Sekunde den Text zu erfassen und zu verstehen ist schon recht kurz...

Da nun der 1. Parameter bei mysqli_real_escape_string() fehlte, also die DB-Verbindung, vermute ich mal, dass das Script keine Werte aus $_POST übernahm und damit auch keine weitere Aktion auslöste.
Das sollte also jetzt klappen.

Und noch ein Hinweis zu $_SESSION, bzw den Superglobals:
Verwende besser alle Keys durchgängig in Kleinbuchstaben. Dann gibt es keine Verwechslung, was denn nun groß- und was kleingeschrieben werden muss.
Dein Script ist zwar überschaubar kurz, aber wenn man sich hier schon nicht daran gewöhnt, stößt man bei komplexeren Scripten schnell auf zunächst unerklärbare Fehler und das mühsame Debugging geht los.
Man sollte also $_SESSION['session_id'] und nicht $_SESSION['session_ID'] verwenden.
Ebenso sollten alles Keys immer in einfache Hochkommas gefasst werden. Somit wird aus $_SESSION[fk_id] ein $_SESSION['fk_id'] und aus $_SESSION[uhrzeit] ein besser lesbares $_SESSION['uhrzeit'].
Denn man kann anstatt der Strings als Keys auch Variablen verwenden, deren Inhalte dann die Key-Namen beinhalten.
Beispiel wäre $_SESSION[$date], um den Wert "uhrzeit" als Keynamen zu benutzen ($date = 'uhrzeit';).
Das macht insgesamt das Lesen von arrays / Superglobals insgesamt einfacher und php hat weniger Schwierigkeiten, zwischen möglichen Konstanten (die man in der Regel auch eher komplett in Großbuchstaben halten sollte, aber nicht muss) und echten Keynamen zu unterscheiden. Denn die Konstanten muss sich php von der Definition an bis zum Ende des gesamten Scripts merken und das kostet Speicherplatz und Zeit.
Denn "uhrzeit" könnte mit der Definition

Code: Alles auswählen

define('uhrzeit', time());
eine Konstante werden und dann wäre $_SESSION[uhrzeit] in Wirklichkeit $_SESSION['12787348'], oder was auch immer gerade für ein Zeitstempel mit time() generiert werden würde.
Und das wäre dann an dieser Stelle definitiv so nicht gewollt und könnte jederzeit passieren, wenn man vor $_SESSION[uhrzeit] eine gleichlautende Konstante einfügt, aus welchem Grund auch immer...

Zuletzt noch ein paar Tipps:

Wenn du etwa über einen zusammengesetzten String an die Datenbank übergehen möchtest, solltest du besser bei der ersten Ausführung des Scriptes erst einmal einen bewussten Haltepunkte einfügen.

Code: Alles auswählen

echo $web_aendern;exit;
eignet sich in diesem Script sehr gut, um in diesem Fall das zusammengebaute SQL-Statement vollständig angezeigt zu bekommen, damit enthaltene Fehler gefunden und gezielt im Script abgestellt werden können.

Wenn du in der Session eine Uhrzeit führen möchtest, wäre ein einfacher Zeitstempel sicherlich besser geeignet.
Ich würde also empfehlen, einfach

Code: Alles auswählen

$_SESSION['uhrzeit'] = time();
zu definieren, solange man dieses nur in der Session führen, aber nicht auswerten möchte.
Dahinter versteckt sich ja die Anzahl Sekunden, die (unter Linux) seit dem 01.01.1970 (müsste 1970 sein) bis zum aktuellen Zeitpunkt vergangen sind. Das lässt sich dann auch jederzeit bei Bedarf mit

Code: Alles auswählen

date("Y-m-d H:i:s", $_SESSION['uhrzeit'])
formatiert ausgeben, verbraucht aber im Speicher viel weniger Platz, als ein formatierter String. Und der Speicher ist ja kostbar, da nur begrenzt vorhanden.

Aktuell habe ich allerdings zu wenig Zeit und die angegebenen Dateien index.php und data.php fehlen mir, um dieses Script ausgiebig zu testen.
Mit den Anpassungen "sollte" es aber jetzt funktionieren.
Mit etwas mehr Debugging wird es Dir darüber hinaus sicher gelingen, die letzten Fehler zielsicher zu finden und abzustellen.

Ich hoffe, ich konnte ausreichend helfen.

Gewöhne die aber bitte dazu auch an, im Script mehr für die Lesbarkeit zu sorgen. Also z. B. die Zeilen

Code: Alles auswählen

$webtext1 = (isset($_POST["webtext1"])) ? mysqli_real_escape_string($con, $_POST["webtext1"]): '';
$webtext2 = (isset($_POST["webtext2"])) ? mysqli_real_escape_string($con, $_POST["webtext2"]): '';
$titel1 = (isset($_POST["titel1_aendern"])) ? mysqli_real_escape_string($con, $_POST["titel1_aendern"]): '';
$titel2 = (isset($_POST["titel2_aendern"])) ? mysqli_real_escape_string($con, $_POST["titel2_aendern"]): '';
$web = (isset($_POST["web"])) ? mysqli_real_escape_string($con, $_POST["web"]): '';
$webseite = (isset($_POST["webseite"])) ? mysqli_real_escape_string($con, $_POST["webseite"]): '';
würde ich so angeben:

Code: Alles auswählen

$webtext1   = (isset($_POST["webtext1"])) ? mysqli_real_escape_string($con, $_POST["webtext1"]) : '';
$webtext2   = (isset($_POST["webtext2"])) ? mysqli_real_escape_string($con, $_POST["webtext2"]) : '';
$titel1     = (isset($_POST["titel1_aendern"])) ? mysqli_real_escape_string($con, $_POST["titel1_aendern"]) : '';
$titel2     = (isset($_POST["titel2_aendern"])) ? mysqli_real_escape_string($con, $_POST["titel2_aendern"]) : '';
$web        = (isset($_POST["web"])) ? mysqli_real_escape_string($con, $_POST["web"]) : '';
$webseite   = (isset($_POST["webseite"])) ? mysqli_real_escape_string($con, $_POST["webseite"]) : '';
Schaut doch gleich besser aus, oder?
Und aus

Code: Alles auswählen

		$web_neu = "INSERT INTO freundeskreise_web(fid_web, text1, text2, titel1, titel2, website) ";
		$web_neu .= "VALUES('" .$_SESSION['fk_id'] . "', '$webtext1', '$webtext2', '$titel1', '$titel2', '$webseite') ";
könnte man auch das hier machen:

Code: Alles auswählen

		$web_neu = "INSERT INTO
                    freundeskreise_web
                    (fid_web,
                    text1,
                    text2,
                    titel1,
                    titel2,
                    website
                    ) VALUES (
                    '" . $_SESSION['fk_id'] . "',
                    '$webtext1',
                    '$webtext2',
                    '$titel1',
                    '$titel2',
                    '$webseite')";
Finde ich deutlich übersichtlicher.

Re: Umstellung von PHP 5.6 auf 7.2

Verfasst: Sa 19.Jan, 2019 10:17
von volker58
hallo,

vielen dank für deine mühe und so ausführlich, einfach klasse :)

bis auf die weiterleitung geht es nun

habe die alte variante erstmal genommen, da geht es

Re: Umstellung von PHP 5.6 auf 7.2

Verfasst: Sa 19.Jan, 2019 12:06
von volker58
eine, hoffe kleine baustelle habe ich noch. speichern geht nun nach deiner anleitung, aber wird in dem formular nicht angezeigt, in der datenbank ist es eingegangen

Code: Alles auswählen

<?php

$edit = 0; 	
$message = "";
    $db_name = '';
    $db_user = '';
    $db_host = 'localhost';
    $db_pw = ''; 

$con = mysqli_connect($db_host, $db_user, $db_pw) or die(mysqli_error());
$db = mysqli_select_db($con, $db_name) or die(mysqli_error()); 

$name        = (isset($_POST["name"])) ? mysqli_real_escape_string($con, $_POST["name"]) : '';
$zuechter    = (isset($_POST["zuechter"])) ? mysqli_real_escape_string($con, $_POST["zuechter"]) : '';
$eltern      = (isset($_POST["eltern"])) ? mysqli_real_escape_string($con, $_POST["eltern"]) : '';
$tubus       = (isset($_POST["tubus"])) ? mysqli_real_escape_string($con, $_POST["tubus"]) : '';
$sepalen     = (isset($_POST["sepalen"])) ? mysqli_real_escape_string($con, $_POST["sepalen"]) : '';
$korolle     = (isset($_POST["korolle"])) ? mysqli_real_escape_string($con, $_POST["korolle"]) : '';
$petalen     = (isset($_POST["petalen"])) ? mysqli_real_escape_string($con, $_POST["petalen"]) : '';
$staubfaeden = (isset($_POST["staubfaeden"])) ? mysqli_real_escape_string($con, $_POST["staubfaeden"]) : '';
$stempel     = (isset($_POST["stempel"])) ? mysqli_real_escape_string($con, $_POST["stempel"]) : '';
$laub        = (isset($_POST["laub"])) ? mysqli_real_escape_string($con, $_POST["laub"]) : '';
$wuchs       = (isset($_POST["wuchs"])) ? mysqli_real_escape_string($con, $_POST["wuchs"]) : '';
$knospe      = (isset($_POST["knospe"])) ? mysqli_real_escape_string($con, $_POST["knospe"]) : '';
$text        = (isset($_POST["text"])) ? mysqli_real_escape_string($con, $_POST["text"]) : '';
$autor       = (isset($_POST["autor"])) ? mysqli_real_escape_string($con, $_POST["autor"]) : '';
$foto        = (isset($_POST["foto"])) ? mysqli_real_escape_string($con, $_POST["foto"]) : '';
$thumb       = (isset($_POST["thumb"])) ? mysqli_real_escape_string($con, $_POST["thumb"]) : '';
$bild        = (isset($_POST["bild"])) ? mysqli_real_escape_string($con, $_POST["bild"]) : '';
$bild1       = (isset($_POST["bild1"])) ? mysqli_real_escape_string($con, $_POST["bild1"]) : '';
$bild2       = (isset($_POST["bild2"])) ? mysqli_real_escape_string($con, $_POST["bild2"]) : '';
$foto1       = (isset($_POST["foto1"])) ? mysqli_real_escape_string($con, $_POST["foto1"]) : '';
$foto2       = (isset($_POST["foto2"])) ? mysqli_real_escape_string($con, $_POST["foto2"]) : '';
$id          = (isset($_POST["id"])) ? intval($con, $_POST["id"]) : intval($_GET["id"]);
$edit        = (isset($_POST["edit"])) ? intval($con, $_POST["edit"]) : intval($con, $_GET["edit"]);
$tid_loeschen = (isset($con, $_POST["tid_loeschen"])) ? intval($con, $_POST["tid_loeschen"]) : intval($con, $_GET["tid_loeschen"]);

//Der folgende Codeblock wird ausgeführt, wenn der Button mit dem Namen 'insert' gedrückt wurde
    if (isset($_POST['insert']))    {
        $sql_data_insert = "INSERT INTO galerie (name, zuechter, eltern, tubus, sepalen, korolle, petalen, staubfaeden, stempel, laub, wuchs, knospe, text, autor, foto, thumb, bild, bild1, foto1, bild2, foto2) 
 							VALUES ('$name', '$zuechter', '$eltern', '$tubus', '$sepalen', '$korolle', '$petalen', '$staubfaeden', '$stempel', '$laub', '$wuchs', '$knospe', '$text', '$autor', '$foto', '$thumb', '$bild', '$bild1', '$foto1', '$bild2', '$foto2')"; 


        $qry_data_insert = mysqli_query($con, $sql_data_insert) or die(mysqli_error($con));

        if ($qry_data_insert)    {
            $message = "<span style=\"color:#ff0000;font-weight:bold;\">Datensatz erfolgreich eingef&uuml;gt</span>";
        } else {
            $message = "<span style=\"color:#ff0000;font-weight:bold;\">Datensatz konnte nicht eingef&uuml;gt werden</span>";
        } 
    //Der folgende Codeblock wird ausgeführt, wenn der Button mit dem Namen 'update' gedrückt wurde
    } else if (isset($_POST['update']))    {
        $sql_data_update = "UPDATE galerie SET name='".$name."', zuechter='".$zuechter."', eltern='".$eltern."', tubus='".$tubus."', sepalen='".$sepalen."', korolle='".$korolle."', petalen='".$petalen."', staubfaeden='".$staubfaeden."', stempel='".$stempel."', laub='".$laub."', wuchs='".$wuchs."', knospe='".$knospe."', text='".$text."', autor='".$autor."', foto='".$foto."', thumb='".$thumb."', bild='".$bild."', bild1='".$bild1."', foto1='".$foto1."', bild2='".$bild2."', foto2='".$foto2."' WHERE id=".(int) $id;
        $qry_data_update = mysqli_query($con, $sql_data_update)
            or die(mysqli_error($con));

        if($qry_data_update)    {
            $message = "<span style=\"color:#ff0000;font-weight:bold;\">Datensatz erfolgreich geändert</span>";
            $edit = 0;
        }else{
            $message = "<span style=\"color:#ff0000;font-weight:bold;\">Datensatz konnte nicht geändert werden</span>";
        }
    }  
if($edit)    {
        $sql_data_edit = "SELECT id, name, zuechter, eltern, tubus, sepalen, korolle, petalen, staubfaeden, stempel, laub, wuchs, knospe, text, autor, foto, thumb, bild, bild1, foto1, bild2, foto2 FROM galerie WHERE ID=".(int) $edit;
        $qry_data_edit = mysqli_query($con, $sql_data_edit) or die(mysqli_error($con));
        $data_edit = mysqli_fetch_array($con, $qry_data_edit);
    } 
elseif($aendern == "loeschen") {
	$t_loeschen = 'DELETE FROM termine WHERE t_id = ' . (int) $tid_loeschen;
	$delete = mysqli_query($con, $t_loeschen) or die ("Konnte Termine nicht löschen, weil: ". mysqli_error($con));
}
 
$sql_data_list = "SELECT id, name, zuechter, autor FROM galerie ORDER BY name ASC ";
$qry_data_list = mysqli_query($con, $sql_data_list) or die(mysqli_error($con));

?>  
<?php include("header.php")?>
<!-- start header -->
<div id="header">

</div>
<!-- end header -->

<!-- start page -->
<div id="page">
	<!-- start content -->
	<div id="content">
		<div class="post">
			<h1 class="title">Fuchsien-Galerie eintragen</h1>
<div class="entry">

<?php echo $message; ?>
<form action="<?php $_SERVER['PHP_SELF']; ?>" name="modData" method="POST">
<input type="hidden" name="id" value="<?php echo $edit; ?>">

<table style='width: 480px; margin: 5px; padding: 5px;' >
<tr>
<td>Name: <td>
<td><input type='text' name='name' size='50'value="<?php if (!empty($data_edit['name'])) { echo $data_edit['name']; } ?>"></td>
</tr>
<tr>
<td>Züchter: <td>
<td><input type='text' name='zuechter'  size='50'value="<?php if(!empty($data_edit['zuechter'])) { echo $data_edit['zuechter']; } ?>"></td>
</tr>
<tr>
<td>Eltern: <td>
<td><input type='text' name='eltern' size='50' value="<?php if(!empty($data_edit['eltern'])) { echo $data_edit['eltern']; } ?>"></td>
</tr>
<tr>
<td>Tubus: <td>
<td><input type='text' name='tubus' size='50' value="<?php if(!empty($data_edit['tubus'])) { echo $data_edit['tubus']; } ?>"></td>
</tr>
<tr>
<td>Sepalen: <td>
<td><input type='text' name='sepalen' size='50' value="<?php if(!empty($data_edit['sepalen'])) { echo $data_edit['sepalen']; } ?>"></td>
</tr>
<tr>
<td>Korolle: <td>
<td><input type='text' name='korolle' size='50' value="<?php if(!empty($data_edit['korolle'])) { echo $data_edit['korolle']; } ?>"></td>
</tr>
<tr>
<td>Staubfaeden: <td>
<td><input type='text' name='staubfaeden' size='50' value="<?php if(!empty($data_edit['staubfaeden'])) { echo $data_edit['staubfaeden']; } ?>"></td>
</tr>
<tr>
<td>Stempel: <td>
<td><input type='text' name='stempel' size='50' value="<?php if(!empty($data_edit['stempel'])) { echo $data_edit['stempel']; } ?>"></td>
</tr>
<tr>
<td>Laub: <td>
<td><input type='text' name='laub' size='50' value="<?php if(!empty($data_edit['laub'])) { echo $data_edit['laub']; } ?>"></td>
</tr>
<tr>
<td>Wuchs: <td>
<td><input type='text' name='wuchs' size='50' value="<?php if(!empty($data_edit['wuchs'])) { echo $data_edit['wuchs']; } ?>"></td>
</tr>
<tr>
<td>Knospe/Blüte: <td>
<td><input type='text' name='knospe' size='50' value="<?php if(!empty($data_edit['knospe'])) { echo $data_edit['knospe']; } ?>"></td>
</tr>
<tr>
<td>Text: <td>
<td><textarea rows="6" cols="50" name="text"><?php if(!empty($data_edit['text'])) { echo $data_edit['text']; } ?></textarea>
</td>
</tr>
<tr>
<td>Autor: <td>
<td><input type='text' name='autor' size='50' value="<?php if(!empty($data_edit['autor'])) { echo $data_edit['autor']; } ?>"></td>
</tr>
<tr>
<td>Foto: <td>
<td><input type='text' name='foto' size='50' value="<?php if(!empty($data_edit['foto'])) { echo $data_edit['foto']; } ?>"></td>
</tr>
<tr>
<td> <td>
<td> </td>
</tr>
<tr>
<td> <td>
<td> </td>
</tr>
<tr>
<td>Hinweis: <td>
<td>* Ab hier nichts eintragen oder ändern!</td>
</tr>
<tr>
<td> <td>
<td> </td>
</tr>
<tr>
<td> <td>
<td> </td>
</tr>
<tr>
<td>*Thumb: <td>
<td><input type='text' name='thumb' size='50' value="<?php if(!empty($data_edit['thumb'])) { echo $data_edit['thumb']; } ?>"></td>
</tr>
<tr>
<td>*Bild: <td>
<td><input type='text' name='bild' size='50' value="<?php if(!empty($data_edit['bild'])) { echo $data_edit['bild']; } ?>"></td>
</tr>
<tr>
<td>*Bild1: <td>
<td><input type='text' name='bild1' size='50' value="<?php if(!empty($data_edit['bild1'])) { echo $data_edit['bild1']; } ?>"></td>
</tr>
<tr>
<td>*Foto1: <td>
<td><input type='text' name='foto1' size='50' value="<?php if(!empty($data_edit['foto1'])) { echo $data_edit['foto1']; } ?>"></td>
</tr>
<tr>
<td>*Bild2: <td>
<td><input type='text' name='bild2' size='50' value="<?php if(!empty($data_edit['bild2'])) { echo $data_edit['bild2']; } ?>"></td>
</tr>
<tr>
<td>*Foto2: <td>
<td><input type='text' name='foto2' size='50' value="<?php if(!empty($data_edit['foto2'])) { echo $data_edit['foto2']; } ?>"></td>
</tr>
</table>
<br />

<?php if ($edit)    {    ?>
<input type="submit" name="update" value="Ändern" onclick="return confirm ('Wollen Sie diesen Eintrag wirklich ändern?')">
<?php } else {    ?>
<input type="submit" name="insert" value="Einf&uuml;gen">
<?php }    ?>
<br /><br>
Bilder <a href="http://www.deutsche-fuchsien-ges.de/web/upload.php" target="_blank">hier</a> hochladen, jeder in sein eigenes Verzeichniss (einfach zuerst anklicken). Ich schaffe sie dann in die richtigen Ordner.<br>
<hr />
<?php
    while($all_data = mysqli_fetch_array($qry_data_list))    { 
        echo "[<a href=\"".$_SERVER['PHP_SELF']."?edit=".$all_data['id']."\">Edit</a>] | ";
        echo $all_data['name']." | ".$all_data['zuechter']." | ".$all_data['autor']."<br />";
    } 

?>
</form>
</div>
	</div>

	</div>
	<!-- end content -->
	<!-- start sidebar -->
	<div id="sidebar">
		<ul>
			<li>
				<h2>Navigation</h2>
				<ul>
                              <li><a href="../../index.php">Startseite </a></li>
					<li><a href="../../monat/fuchsie_des_monats.php">Fuchsie des Monats </a></li>
					<li><a href="../../lexikon/lexikon.php">Fuchsien-Galerie</a></li>
					<li><a href="../../pflegetipps/pflegetipps.php">Pflegetipps</a></li>
                              <li><a href="../../pflegetipps/wissen.php">Wissen u. Züchter</a></li>
					<li><a href="../../top50st.php">Top 50 Fuchsien</a></li>
					<li><a href="../../kontakt.php">Kontakt</a></li>
					<li><a href="../../forum.php">Forum</a></li>
                              <li><a href="../../imp.php">Impressum</a></li>
                              <li><a href="../../links.php">Links</a></li>
				</ul>
			</li>
		</ul>
	</div>
	<!-- end sidebar -->

</div>
<!-- end page -->
<div id="footer">
	<?php include("../fuss.php"); ?>
</div>

</body>
</html>

EDITT//

Code: Alles auswählen

<?php

$edit = 0; 	
$message = "";
    $db_name = g';
    $db_user =';
    $db_host = 'localhost';
    $db_pw = '!'; 

$con = mysqli_connect($db_host, $db_user, $db_pw) or die(mysqli_error());
$db = mysqli_select_db($con, $db_name) or die(mysqli_error()); 

$name         = (isset($_POST["name"])) ? mysqli_real_escape_string($con, $_POST["name"]) : '';
$zuechter     = (isset($_POST["zuechter"])) ? mysqli_real_escape_string($con, $_POST["zuechter"]) : '';
$eltern       = (isset($_POST["eltern"])) ? mysqli_real_escape_string($con, $_POST["eltern"]) : '';
$tubus        = (isset($_POST["tubus"])) ? mysqli_real_escape_string($con, $_POST["tubus"]) : '';
$sepalen      = (isset($_POST["sepalen"])) ? mysqli_real_escape_string($con, $_POST["sepalen"]) : '';
$korolle      = (isset($_POST["korolle"])) ? mysqli_real_escape_string($con, $_POST["korolle"]) : '';
$petalen      = (isset($_POST["petalen"])) ? mysqli_real_escape_string($con, $_POST["petalen"]) : '';
$staubfaeden  = (isset($_POST["staubfaeden"])) ? mysqli_real_escape_string($con, $_POST["staubfaeden"]) : '';
$stempel      = (isset($_POST["stempel"])) ? mysqli_real_escape_string($con, $_POST["stempel"]) : '';
$laub         = (isset($_POST["laub"])) ? mysqli_real_escape_string($con, $_POST["laub"]) : '';
$wuchs        = (isset($_POST["wuchs"])) ? mysqli_real_escape_string($con, $_POST["wuchs"]) : '';
$knospe       = (isset($_POST["knospe"])) ? mysqli_real_escape_string($con, $_POST["knospe"]) : '';
$text         = (isset($_POST["text"])) ? mysqli_real_escape_string($con, $_POST["text"]) : '';
$autor        = (isset($_POST["autor"])) ? mysqli_real_escape_string($con, $_POST["autor"]) : '';
$foto         = (isset($_POST["foto"])) ? mysqli_real_escape_string($con, $_POST["foto"]) : '';
$thumb        = (isset($_POST["thumb"])) ? mysqli_real_escape_string($con, $_POST["thumb"]) : '';
$bild         = (isset($_POST["bild"])) ? mysqli_real_escape_string($con, $_POST["bild"]) : '';
$bild1        = (isset($_POST["bild1"])) ? mysqli_real_escape_string($con, $_POST["bild1"]) : '';
$bild2        = (isset($_POST["bild2"])) ? mysqli_real_escape_string($con, $_POST["bild2"]) : '';
$foto1        = (isset($_POST["foto1"])) ? mysqli_real_escape_string($con, $_POST["foto1"]) : '';
$foto2        = (isset($_POST["foto2"])) ? mysqli_real_escape_string($con, $_POST["foto2"]) : '';
$id           = (isset($_POST["id"])) ? intval($con, $_POST["id"]) : intval($_GET["id"]);
$edit         = (isset($_POST["edit"])) ? intval($con, $_POST["edit"]) : intval($con, $_GET["edit"]);
$tid_loeschen = (isset($con, $_POST["tid_loeschen"])) ? intval($con, $_POST["tid_loeschen"]) : intval($con, $_GET["tid_loeschen"]);

//Der folgende Codeblock wird ausgeführt, wenn der Button mit dem Namen 'insert' gedrückt wurde
    if (isset($_POST['insert']))    {
        $sql_data_insert = "INSERT INTO galerie
		(name, 
		zuechter, 
		eltern, 
		tubus, 
		sepalen, 
		korolle, 
		petalen, 
		staubfaeden, 
		stempel, 
		laub, 
		wuchs, 
		knospe, 
		text, 
		autor, 
		foto, 
		thumb,
		bild, 
		bild1, 
		foto1, 
		bild2, 
		foto2) 
 							VALUES ('$name', 
							'$zuechter', 
							'$eltern', 
							'$tubus', 
							'$sepalen', 
							'$korolle', 
							'$petalen', 
							'$staubfaeden', 
							'$stempel', 
							'$laub', 
							'$wuchs', 
							'$knospe', 
							'$text', 
							'$autor', 
							'$foto', 
							'$thumb', 
							'$bild', 
							'$bild1', 
							'$foto1', 
							'$bild2', 
							'$foto2')"; 


        $qry_data_insert = mysqli_query($con, $sql_data_insert) or die(mysqli_error($con));

        if ($qry_data_insert)    {
            $message = "<span style=\"color:#ff0000;font-weight:bold;\">Datensatz erfolgreich eingef&uuml;gt</span>";
        } else {
            $message = "<span style=\"color:#ff0000;font-weight:bold;\">Datensatz konnte nicht eingef&uuml;gt werden</span>";
        } 
    //Der folgende Codeblock wird ausgeführt, wenn der Button mit dem Namen 'update' gedrückt wurde
    } else if (isset($_POST['update']))    {
        $sql_data_update = "UPDATE galerie SET name='".$name."', 
		zuechter='".$zuechter."', 
		eltern='".$eltern."', 
		tubus='".$tubus."', 
		sepalen='".$sepalen."', 
		korolle='".$korolle."', 
		petalen='".$petalen."', 
		staubfaeden='".$staubfaeden."', 
		stempel='".$stempel."', 
		laub='".$laub."', 
		wuchs='".$wuchs."', 
		knospe='".$knospe."', 
		text='".$text."', 
		autor='".$autor."', 
		foto='".$foto."', 
		thumb='".$thumb."', 
		bild='".$bild."', 
		bild1='".$bild1."', 
		foto1='".$foto1."', 
		bild2='".$bild2."', 
		foto2='".$foto2."' 
		WHERE id=".(int) $id;
		
        $qry_data_update = mysqli_query($con, $sql_data_update)
            or die(mysqli_error($con));

        if($qry_data_update)    {
            $message = "<span style=\"color:#ff0000;font-weight:bold;\">Datensatz erfolgreich geändert</span>";
            $edit = 0;
        }else{
            $message = "<span style=\"color:#ff0000;font-weight:bold;\">Datensatz konnte nicht geändert werden</span>";
        }
    }  
if($edit)    {
        $sql_data_edit = "SELECT id, 
		name, 
		zuechter, 
		eltern, 
		tubus, 
		sepalen, 
		korolle, 
		petalen, 
		staubfaeden, 
		stempel, 
		laub, 
		wuchs, 
		knospe, 
		text, 
		autor, 
		foto, 
		thumb, 
		bild, 
		bild1, 
		foto1,
		bild2, 
		foto2 
		FROM galerie WHERE ID=".(int) $edit;
		
        $qry_data_edit = mysqli_query($con, $sql_data_edit) or die(mysqli_error($con));
        $data_edit = mysqli_fetch_array($qry_data_edit);
    } 

 
$sql_data_list = "SELECT id, name, zuechter, autor FROM galerie ORDER BY name ASC ";
$qry_data_list = mysqli_query($con, $sql_data_list) or die(mysqli_error($con));


?>  
<?php include("header.php")?>
<!-- start header -->
<div id="header">

</div>
<!-- end header -->

<!-- start page -->
<div id="page">
	<!-- start content -->
	<div id="content">
		<div class="post">
			<h1 class="title">Fuchsien-Galerie eintragen</h1>
<div class="entry">

<?php echo $message; ?>
<form action="<?php $_SERVER['PHP_SELF']; ?>" name="modData" method="POST">
<input type="hidden" name="id" value="<?php echo $edit; ?>">

<table style='width: 480px; margin: 5px; padding: 5px;' >
<tr>
<td>Name: <td>
<td><input type='text' name='name' size='50'value="<?php if (!empty($data_edit['name'])) { echo $data_edit['name']; } ?>"></td>
</tr>
<tr>
<td>Züchter: <td>
<td><input type='text' name='zuechter'  size='50'value="<?php if(!empty($data_edit['zuechter'])) { echo $data_edit['zuechter']; } ?>"></td>
</tr>
<tr>
<td>Eltern: <td>
<td><input type='text' name='eltern' size='50' value="<?php if(!empty($data_edit['eltern'])) { echo $data_edit['eltern']; } ?>"></td>
</tr>
<tr>
<td>Tubus: <td>
<td><input type='text' name='tubus' size='50' value="<?php if(!empty($data_edit['tubus'])) { echo $data_edit['tubus']; } ?>"></td>
</tr>
<tr>
<td>Sepalen: <td>
<td><input type='text' name='sepalen' size='50' value="<?php if(!empty($data_edit['sepalen'])) { echo $data_edit['sepalen']; } ?>"></td>
</tr>
<tr>
<td>Korolle: <td>
<td><input type='text' name='korolle' size='50' value="<?php if(!empty($data_edit['korolle'])) { echo $data_edit['korolle']; } ?>"></td>
</tr>
<tr>
<td>Staubfaeden: <td>
<td><input type='text' name='staubfaeden' size='50' value="<?php if(!empty($data_edit['staubfaeden'])) { echo $data_edit['staubfaeden']; } ?>"></td>
</tr>
<tr>
<td>Stempel: <td>
<td><input type='text' name='stempel' size='50' value="<?php if(!empty($data_edit['stempel'])) { echo $data_edit['stempel']; } ?>"></td>
</tr>
<tr>
<td>Laub: <td>
<td><input type='text' name='laub' size='50' value="<?php if(!empty($data_edit['laub'])) { echo $data_edit['laub']; } ?>"></td>
</tr>
<tr>
<td>Wuchs: <td>
<td><input type='text' name='wuchs' size='50' value="<?php if(!empty($data_edit['wuchs'])) { echo $data_edit['wuchs']; } ?>"></td>
</tr>
<tr>
<td>Knospe/Blüte: <td>
<td><input type='text' name='knospe' size='50' value="<?php if(!empty($data_edit['knospe'])) { echo $data_edit['knospe']; } ?>"></td>
</tr>
<tr>
<td>Text: <td>
<td><textarea rows="6" cols="50" name="text"><?php if(!empty($data_edit['text'])) { echo $data_edit['text']; } ?></textarea>
</td>
</tr>
<tr>
<td>Autor: <td>
<td><input type='text' name='autor' size='50' value="<?php if(!empty($data_edit['autor'])) { echo $data_edit['autor']; } ?>"></td>
</tr>
<tr>
<td>Foto: <td>
<td><input type='text' name='foto' size='50' value="<?php if(!empty($data_edit['foto'])) { echo $data_edit['foto']; } ?>"></td>
</tr>
<tr>
<td> <td>
<td> </td>
</tr>
<tr>
<td> <td>
<td> </td>
</tr>
<tr>
<td>Hinweis: <td>
<td>* Ab hier nichts eintragen oder ändern!</td>
</tr>
<tr>
<td> <td>
<td> </td>
</tr>
<tr>
<td> <td>
<td> </td>
</tr>
<tr>
<td>*Thumb: <td>
<td><input type='text' name='thumb' size='50' value="<?php if(!empty($data_edit['thumb'])) { echo $data_edit['thumb']; } ?>"></td>
</tr>
<tr>
<td>*Bild: <td>
<td><input type='text' name='bild' size='50' value="<?php if(!empty($data_edit['bild'])) { echo $data_edit['bild']; } ?>"></td>
</tr>
<tr>
<td>*Bild1: <td>
<td><input type='text' name='bild1' size='50' value="<?php if(!empty($data_edit['bild1'])) { echo $data_edit['bild1']; } ?>"></td>
</tr>
<tr>
<td>*Foto1: <td>
<td><input type='text' name='foto1' size='50' value="<?php if(!empty($data_edit['foto1'])) { echo $data_edit['foto1']; } ?>"></td>
</tr>
<tr>
<td>*Bild2: <td>
<td><input type='text' name='bild2' size='50' value="<?php if(!empty($data_edit['bild2'])) { echo $data_edit['bild2']; } ?>"></td>
</tr>
<tr>
<td>*Foto2: <td>
<td><input type='text' name='foto2' size='50' value="<?php if(!empty($data_edit['foto2'])) { echo $data_edit['foto2']; } ?>"></td>
</tr>
</table>
<br />

<?php if ($edit)    {    ?>
<input type="submit" name="update" value="Ändern" onclick="return confirm ('Wollen Sie diesen Eintrag wirklich ändern?')">
<?php } else {    ?>
<input type="submit" name="insert" value="Einf&uuml;gen">
<?php }    ?>
<br /><br>

<hr />
<?php
    while($all_data = mysqli_fetch_array($qry_data_list))    { 
        echo "[<a href=\"".$_SERVER['PHP_SELF']."?edit=".$all_data['id']."\">Edit</a>] | ";
        echo $all_data['name']." | ".$all_data['zuechter']." | ".$all_data['autor']."<br />";
    } 

?>
</form>
</div>
	</div>

	</div>
	<!-- end content -->
	<!-- start sidebar -->
	<div id="sidebar">
		<ul>
			<li>
				<h2>Navigation</h2>
				<ul>
                              <li><a href="../../index.php">Startseite </a></li>
					<li><a href="../../monat/fuchsie_des_monats.php">Fuchsie des Monats </a></li>
					<li><a href="../../lexikon/lexikon.php">Fuchsien-Galerie</a></li>
					<li><a href="../../pflegetipps/pflegetipps.php">Pflegetipps</a></li>
                              <li><a href="../../pflegetipps/wissen.php">Wissen u. Züchter</a></li>
					<li><a href="../../top50st.php">Top 50 Fuchsien</a></li>
					<li><a href="../../kontakt.php">Kontakt</a></li>
					<li><a href="../../forum.php">Forum</a></li>
                              <li><a href="../../imp.php">Impressum</a></li>
                              <li><a href="../../links.php">Links</a></li>
				</ul>
			</li>
		</ul>
	</div>
	<!-- end sidebar -->

</div>
<!-- end page -->
<div id="footer">
	<?php include("../fuss.php"); ?>
</div>

</body>
</html>
die anzeige geht nun nach langen versuchen und die datei habe ich mal geändert, wegen der übersicht.
wenn ich aber eine eintrag aufrufen will, zeigt er mir immer nur die ID 1 an, obwohl in der browserzeile die richtige id steht, ich schicke dir mal den link zur datei per pn, hoffe das ist okay

Re: Umstellung von PHP 5.6 auf 7.2

Verfasst: Sa 19.Jan, 2019 18:23
von oxpus
Hier gab es wohl einen Kopierfehler?

Code: Alles auswählen

$id           = (isset($_POST["id"])) ? intval($con, $_POST["id"]) : intval($_GET["id"]);
$edit         = (isset($_POST["edit"])) ? intval($con, $_POST["edit"]) : intval($con, $_GET["edit"]);
Korrekt wäre

Code: Alles auswählen

$id           = (isset($_POST["id"])) ? intval($_POST["id"]) : intval($_GET["id"]);
$edit         = (isset($_POST["edit"])) ? intval($_POST["edit"]) : intval($_GET["edit"]);
Btw:

Code: Alles auswählen

        $sql_data_edit = "SELECT id, 
		name, 
		zuechter, 
		eltern, 
		tubus, 
		sepalen, 
		korolle, 
		petalen, 
		staubfaeden, 
		stempel, 
		laub, 
		wuchs, 
		knospe, 
		text, 
		autor, 
		foto, 
		thumb, 
		bild, 
		bild1, 
		foto1,
		bild2, 
		foto2 
		FROM galerie WHERE ID=".(int) $edit;
geht noch übersichtlicher, nämlich so:

Code: Alles auswählen

        $sql_data_edit = "SELECT * FROM galerie WHERE ID=".(int) $edit;
Da du eh alle Werte aus der Tabelle für die Bearbeitung brauchst, ist das wohl die beste Methode und auch die kürzeste, alle Daten des gewünschten Eintrages abzufragen.

Re: Umstellung von PHP 5.6 auf 7.2

Verfasst: Sa 19.Jan, 2019 18:38
von volker58
vielen dank :) :respect:

das war kein kopierfehler, habe da zuviele $con, eingebaut :eek:

wir werden das nun mal noch bissel testen, aber ich denke es geht