Lid |
|
if( isset($_POST['blog_edit_submit'])) {
$sql2 = mysql_query("SELECT title, name, content, date FROM blog WHERE id='".$row['id']."'") or die(mysql_error());
...
if( isset($_POST['blog_edit_submit'])) { ...
Je gebruikt hier $row['id']. Opletten hiermee, dit is gewoon het id van je laatste row opgehaald in de while lus net daarboven! En volgens mij is het de bedoeling dat je het id ophaalt van de blog die iemand wil bewerken.
Verder zit je eigenlijk volgens mij gewoon compleet fout met je code/denkwijze. Als ik het goed begrijp is dit de bedoeling:
Je geeft enkele buttons weer met daarop "Edit (titel)". Wanneer daar op geklikt wordt moet er een form verschijnen waarin men aanpassingen kan doen. Hierna moeten de aanpassingen gewoon opgeslagen worden als de invoer correct was, anders worden er foutmeldingen gegeven.
In PHP werkt formulieren submitten als volgt:
In je <form> tag plaats je de "action" en "method". Dit is wat de browser moet doen om de info te verzenden. Let wel op dat enkel de info binnen <form></form> veronden wordt met hun respectievelijke action en method. Een voorbeeld is bijvoorbeeld:
<form name="form1" action="page1.php" method="post">
<input type="text" name="naam1" />
<input type="password" name="naam2" />
<input type="submit" name="submitbutton" value="Submit!" />
</form>
<form name="form2" action="page2.php" method="get">
<textarea name="text"></textarea>
<input type="submit" name="submitbutton" value="Submit!" />
</form>
<form name="form1" action="page1.php" method="post"> <input type="text" name="naam1" /> <input type="password" name="naam2" /> <input type="submit" name="submitbutton" value="Submit!" /> <form name="form2" action="page2.php" method="get"> <input type="submit" name="submitbutton" value="Submit!" />
Wanneer je nu form1 gaat submitten gaat-ie naar page1.php waar je zal beschikken over $_POST['naam1'] met als waarde de waarde van <input type="text" name="naam1" />, $_POST['naam2'] met als waarde de waarde van <input type="text" name="naam2" /> en over $_POST['submitbutton'] met als waarde "Submit!". Je weet niets van form2.
Ga je nu form2 submitten dan gaat-ie naar page2.php waar je zal beschikken over $_GET['text'] met als waarde etc. etc.
Wat jij dus moet doen is op een of andere manier via een form het id meegeven van het bericht dat moet aangepast worden. Dit kan bijvoorbeeld via:
<form method="post" action="submit_form.php">
<input type="hidden" name="id" value="<?php echo $row['id']; ?>" />
<input type="submit" value="bewerk blablabla" />
</form>
<form method="post" action="submit_form.php"> <input type="hidden" name="id" value="<?php echo $row['id']; ?>" /> <input type="submit" value="bewerk blablabla" />
Dan beschik je in $_POST['id'] dus over het juiste id zodat je in je query die ik daarstraks aanhaalde $row['id'] vervangt door $_POST['id']. Pas dit dan ook toe op de rest van de code en het zou al een pak beter moeten gaan.
In ieder geval, als je een blog systeem wilt maken en dus veel met forms in contact zult kommen raad ik je echt wel aan forms nog eens goed te bekijken, http://www.site...ormulieren hier bijvoorbeeld. |