Hallo an alle winking smiley
ich versuche gerade meine ersten Gehversuche und hoffe, hier kann mir jemand helfen.
ich habe eine DB in die ich per Formular Daten reinschreiben kann. Nun will ich das Formular nutzen, um die bestehenden Daten zu editieren. Aber irgendwas läuft schief.
Ich kriege in die Input Felder nicht die Daten reingeschrieben, die in der DB schon bestehen ;(
hier mein code:
edit_recipe.php
<?php
if ($submit): // ein neues recipe wurde mit dem unten stehenden formular
hinzugefuegt
$dbcnx = mysql_connect('mysql.testweise.de','dbtest','geheimespasswort');
mysql_select_db('dbtest');
$sql = "UPDATE kitchenrecipe SET
r_name='$name', r_subtitle='$subtitle', r_ingredients='$ingredients', r_description='$description'";
if (@mysql_query($sql)) {
echo("<p class='textbold'>Recipe edited!</p>");
} else {
echo("<p>Fehler beim Bearbeiten des recipe: " . mysql_error() . "</p>");
}
?>
<p class=functionbold><a href="<?=$PHP_SELF?>">Edit Recipe</a></p>
<?php
else: // Formular zur Eingabe eines neuen recipe
?>
FORMULAR zum DARSTELLEN der bestehenden DATEN:
<form action="<?PHP_SELF?>" method="post">
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr>
<td class=text>Edit a recipe:</td>
</tr>
<tr>
<td><img src="../img/blind.gif" height=10 border=0></td>
</tr>
<tr>
<td>
<table width="100%" cellspacing="0" cellpadding="0" border="0"> <tr>
<td valign=top class=text width=150 align=right>recipe title: </td> <td><input class=textfeldsmall type="text" name="r_name" value="<?=$name?>" site="20" maxlength="255" /></td> </tr>
</table>
</td>
</tr>
<tr>
<td>
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr>
<td valign=top class=text width=150 align=right>recipe subtitle: </td>
<td><input class=textfeldlarge type="text" name="r_subtitle" value="<?=$subtitle?>" site="20" maxlength="255" /></td> </tr>
</table>
</td>
</tr>
<tr>
<td>
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr>
<td valign=top class=text width=150 align=right>recipe items: </td>
<td><textarea name="r_ingredients" value="<?=$ingredients?>" class="textarea" rows="10" cols="40"></textarea></td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr>
<td valign=top class=text width=150 align=right>recipe description: </td>
<td><textarea name="r_description" value="<?=$description?>" class="textarea" rows="10" cols="40"></textarea></td>
</tr>
</table>
</td>
</tr>
<tr>
<td align=center><input type="hidden" name="id" value="<?=$id?>" /></td>
</tr>
<tr>
<td align=center><input type="submit" name="submit" value="Neue Version speichern" />
</td>
</tr>
</table>
</form>
<?php endif; ?>
der aufruf erfolgt in einer anderen datei mittels:
recipe.php
echo("<td class='function'>[<a href='edit_recipe.php?id=$id'>.. Edit </a> .... "."<a href='del_recipe.php?del_rec=$id'> Delete..</a>]"."</td>\n");
Diese script teile sind weitesgehend aus dem Buch von Kevin Yanks übernommen. Mit dieser Hilfe versuche ich ein kleines CMS zu bauen. Einzig die Editierfunktion macht mir eben noch Kopfzerbrechen.
An welcher Stelle mangelt es?
Braucht ihr noch weitere Angaben?
Können die Variablen im formular überhaupt so ausgegeben werden, oder müssen die innerhalb dieses scripts extra vorher mit SELECT angefordert werden?
Wenn ich die Funktion aufrufe (mit leeren Formular Feldern), kann ich sie auch updaten, allerdings sind dann die entsprechenden Felder gelöscht. ;(
Ist dieser Part
$sql = "UPDATE kitchenrecipe SET
r_name='$name', r_subtitle='$subtitle', r_ingredients='$ingredients', r_description='$description'";
nur dafür da, um EINGETRAGENE ÄNDERUNGEN wieder zurück in die DB zu schreiben?
bitte fragt wenn das zu konfus ist.
grüsse Lol2much