Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
PhP4 --> PhP5 Werte aus Datenbank in Formular übergeben [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
ebiz-webhosting
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
PhP4 --> PhP5 Werte aus Datenbank in Formular übergeben


 
stocki
02-10-2009, 09:58 
 
Hallo
Vor einigen Jahren hatte ich mich mal ein wenig mit php versucht und auch die eine oder andere Website erstellt. Jetzt forderte mich mein Provider auf, ich soll meine mysql4 Datenbank und php4 auf die Version 5 updaten. Nach dem Update funktioniert leider nicht mehr ganz alles. Ich habe eine simple Datenbank (Gartenkalender) welche der User im Backend selbst füllen kann. Er kann Datensätze hinzufügen, löschen und editieren. Leider werden für das editieren die bestehenden Datensätze nicht mehr ins Formular übernommen. Kann mir bitte jemand helfen? Hier das Script aus Edit:

<?
//wurde ID übergeben
if ($id > 0) {
//sql-Abfrage und Datensatz mit entsprechender ID anzeigen
$sql = "SELECT * FROM tb_kalender where id=" . $_GET['id'] ;
$dbresult = mysql_query($sql, $db) or die("SQL-Query fehlgeschlagen: " . mysql_error());

//Pro gefundenen Datensatz wird folgender Block ausgegeben
if(!$field = mysql_fetch_assoc($dbresult)) {
echo "Datensatz nicht gefunden";
$error = true; //Kein Formular anzeigen wenn Datensatz nicht gefunden
}
}
if (!$error) {
?>
<form method="post" action="edit_save.php">
<input type="hidden" name="id" value="<?=$id ?>">
<p>Anzeigen von KW<br>
<input type="text" name="von" value="<?=$field["von"]?>">
</p>
<p>Anzeigen bis KW<br>
<input type="text" name="bis" value="<?=$field["bis"]?>">
</p>
<p>Titel<br>
<input name="titel" type="text" size="60" value="<?=$field["titel"]?>">
</p>

<p>Text<br>
<textarea name="text" cols="45" rows=8><?=$field["text"]?></textarea>
</p>

<input type="submit" name="Submit" value="Speichern">
</p>
</form>
<p>&nbsp;</p>
<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">&lt;
<a href="javascript:history.back();">Zur&uuml;ck zur &Uuml;bersicht</a></font></p>
<?
//Ende des If-Blocks
}
?>

 
Kropff
02-10-2009, 10:09 
 
Mal das probiert:
value="<?php echo $id; ?>"
Peter

 
stocki
02-10-2009, 10:35 
 
Hallo Peter
Danke für die schnelle Anwort. Leider hat die Änderung noch nichts gebracht. In der URL wir folgendes angezeigt beim Aufbau der EDIT-Seite: ../gartenkalender/edit.php?id=9
Das Änderungsformular bleibt aber leider leer.

 
Kropff
02-10-2009, 10:42 
 
if ($id > 0)
register_globals (http://www.peterkropff.de/tutorials/php_register/php_register.htm)

Peter

 
stocki
02-10-2009, 13:24 
 
Vielen Dank, es funktioniert...

Habe die Zeile in if ($_GET['id'] > 0) geändert.

 
stocki
04-10-2009, 21:09 
 
Hallo, leider ist das Problem nur zum Teil gelöst. Wenn ich den Datensatz zum editieren aufrufe, wird der richtige Datensatz angezeigt. Dann ändere ich den Datensatz und drücke auf aktualisieren. Edit_save.php wird gestartet. Leider wird der Satz nicht aktualisiert sondern es wird ein neuer Datensatz ohne Inhalt angelegt. Was mache ich falsch. Sitze schon Stunden vor dem Problem. Könnt ihr mir einen Tipp geben. Danke

Hier der Code von edit_save.php:
<?

$id = $_POST['id'];

if (!$id) {
$sql = "INSERT INTO tb_kalender (titel,text) VALUES ('$titel','$text')";
echo $sql . "<BR>";
$dbresult = mysql_query($sql) or die("SQL-Query fehlgeschlagen: " . mysql_error());
$id = mysql_insert_id ();
echo ("Neue ID ist $id<br>");
}

if ($id > 0) {
$sql = "UPDATE tb_kalender SET titel='$titel',text='$text',von='$von',bis='$bis' WHERE ID='$id'";
echo $sql ."<br>";
$dbresult = mysql_query($sql) or die("SQL-Query fehlgeschlagen: " . mysql_error());
}

echo "Datensatz gespeichert!";
// Umleiten zur Übersicht nach 10 Sekunden
echo '<META http-equiv="refresh" content="3;URL=liste.php">';

?>

 
wahsaga
04-10-2009, 21:16 
 
Hallo, leider ist das Problem nur zum Teil gelöst. Wenn ich den Datensatz zum editieren aufrufe, wird der richtige Datensatz angezeigt. Dann ändere ich den Datensatz und drücke auf aktualisieren. Edit_save.php wird gestartet. Leider wird der Satz nicht aktualisiert sondern es wird ein neuer Datensatz ohne Inhalt angelegt.
Natürlich - die Ursache dieses Problems ist die gleiche wie vorher bei der ID.
Was mache ich falsch.
Du setzt das, was du aus dem Link von Kropff gelernt haben solltest, nicht konsequent für den Rest des Scriptes um.

 
stocki
04-10-2009, 22:21 
 
Ich schaffe es leider nicht. :(

Wäre sehr froh um einen Hinweis. Danke

 
wahsaga
04-10-2009, 22:31 
 
Ich schaffe es leider nicht.
Na dann solltest du deine Skills-Angaben auf deiner Webseite aber mal überdenken ...

Wäre sehr froh um einen Hinweis. Danke
Die Daten, die du in die Datenbank eintragen willst, kommen ebenso von ausserhalb, wie die ID, um die es anfangs ging.
Also müssen sie auch analog zu dieser in Empfang genommen werden.

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 21:31 Uhr.