Ein Fehler in einem Edit Formular
jaylibii
- php
Hallo,
ich mach gerade für ein Forum eine edit Seite dass der User auch Beiträge wieder verändern kann. Aber an einer Stelle komme ich gerade mal nicht so ganz weiter und zwar hier:
Parse error: parse error, unexpected '}' in Zeile 15
in der gesagten Zeile steht aber nur <html>
Der Code darüber sieht so aus:
$action = "save_new.php"; // Standard mässig wird das save_new.php aufgerufen wenn man speicher möchte. Also wird ein neuer Eintrag in die DB geschrieben
if (isset($_GET['threadid'])) { // Wenn die ID gesetzt ist, also über den Link übergeben wurde, was bedeutet, der User möchte einen Eintrage editieren
$query = "SELECT * FROM simple_posts WHERE threadid=" . $_GET['threadid'];
$result = mysql_query($query) or die ("MySQL-Error: " . mysql_error());
$action = "save_edit.php"; // Da der User einen Eintrage editieren möchte, wird nicht save_new.php aufgerufen sondern save_edit.php
$data = mysql_fetch_assoc($result);
$post = $data['post'];
}
?>
weiß jemand an was das liegt?
MFG jaylibii
$query = "SELECT * FROM simple_posts WHERE threadid='" . $_GET['threadid'] . "'";
Hallo,
$query = "SELECT * FROM simple_posts WHERE threadid='" . $_GET['threadid'] . "'";
nöö an dem ist es nicht gelgen denn der Fehler kommt immer noch also der gleiche den ich gerade schon mal geschrieben habe.
MFG jaylibii
$post = $data['post'];
}
?>
Schon mal mit ; hinter der } Klammer probiert?
Vielleicht ist es damit ja schon behoben.
Gruß
Schnaps
Hi,
Schon mal mit ; hinter der } Klammer probiert?
Vielleicht ist es damit ja schon behoben.
würde mich wundern. =)
Ich glaube eher, das Problem liegt irgendwo ganz woanders in den unergründlichen Tiefen des Qelltextes.
Wenn ich an meine C-Programme denke... Da gab es solche (Schussel-)Fehler auch häufig.
MfG Hopsel
Hallo,
na ja mehr Code gibts leider nicht also nur das. Doch es gibt schon mehr Code aber nicht ganz oben nur etwas wetier unten da kommt dann eben der ganze HTMl Kram usw.
MFG jaylibii
Hallo,
Schon mal mit ; hinter der } Klammer probiert?
Vielleicht ist es damit ja schon behoben.
hab es gerade mal versucht aber damit ist das Problem leider nicht behoben.
MFG jaylibii
Hi,
Parse error: parse error, unexpected '}' in Zeile 15
in der gesagten Zeile steht aber nur <html>
Ich meine diese Fehlermeldung auch schonmal bekommen zu haben da mir
eine } gefehlt hatte. sicher bin ich mir aber nicht post am besten mal
den ganzen code so wie er in der datei ist.
MfG
Hallo,
SORRY SORRY SORRY. Ich bin ein Depp denn ich habe in dem falschen Code geschaut. DAs war in einer ganz falschen Datei da war eine } zu viel drin.
Aber nun kommt ein ganz anderes Problem und DIESES mal auch in der Richtigen Datei:
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'EDIT EDIT WHERE id =' at line 3
Hmm dieses mal sieht der Code so aus:
$sql = "UPDATE beitraege
SET post = ".$_POST['post'] ."
WHERE id = ".$id;
$res = mysql_query($sql);
mysql_query($sql) OR die(mysql_error());
header("Location: http://www.meine.Seite.de/ausgabe.php");
exit;
?>
MFG jaylibii
Hi jaylibii,
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'EDIT EDIT WHERE id =' at line 3
Vermutlich hast du hier in dein Formular oder was auch immer EDIT EDIT reingeschrieben? Also, dass in $_POST['post'] "EDIT EDIT" drin stand?
$sql = "UPDATE beitraege
SET post = ".$_POST['post'] ."
WHERE id = ".$id;
Du musst Werte in Anführungszeichen schreiben, also:
UPDATE beitraege
SET post = '[code lang=php]".$_POST['post']."
~~~'
WHERE id = `".$id`{:.language-php}[/code]
Lediglich wenn es sich um numerische Werte handelt, kannst du die Anführungszeichen weglassen.
MfG, Dennis.
--
Mein SelfCode: [ie:{ fl:( br:> va:) ls:\[ fo:) rl:( n4:# ss:) de:\] js:| ch:{ sh:| mo:} zu:|](http://www.peter.in-berlin.de/projekte/selfcode/?code=ie%3A%7B+fl%3A%28+br%3A%3E+va%3A%29+ls%3A%5B+fo%3A%29+rl%3A%28+n4%3A%23+ss%3A%29+de%3A%5D+js%3A%7C+ch%3A%7B+sh%3A%7C+mo%3A%7D+zu%3A%7C)
Sinnvolles Zitieren: Man zitiert nur Teilsätze des Vorposters auf die man sich bezieht! Nicht einfach alles.
Hallo Dennis,
:-( nee du wenn ich das so mache wie du das gerade geschrieben hast dann kommt leider die Meldung:
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 4
das heißt doch dass dem die " nicht passen oder?
in der Zeile 4 steht:
$sql = "UPDATE beitraege
MFG jaylibii
Hi jaylibii,
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 4
das heißt doch dass dem die " nicht passen oder?
Achtung, da war von ' und ' die Rede - nicht von "
in der Zeile 4 steht:
$sql = "UPDATE beitraege
Nochmal Achtung: Es geht hier um den SQL Query, also nicht um die Zeilen im PHP Script!
Was steht in der vierten Zeile des SQL Querys?
MfG, Dennis.
Hallo Dennis,
das ganze sieht gerade bei mir so aus:
$sql = "UPDATE beitraege
SET post = '".$_POST['post']."'
WHERE id = ".$id;
$res = mysql_query($sql);
mysql_query($sql) OR die(mysql_error());
header("Location: http://www.meine_Seite.de/test.php");
exit;
?>
MFG jaylibii
Hi,
mysql_query($sql) OR die(mysql_error());
Mach da mal
mysql_query($sql) OR die($sql."\n<br/>\n".mysql_error());
draus - dann siehst Du, wie das SQL-Statement aussieht, das tatsächlich erzeugt wurde.
cu,
Andreas
Hallo Andreas,
wenn ich das so mache wie du mir gerade geschrieben hast dann kommt folgendes:
UPDATE beitraege SET post = 'EDIT EDIT EDIT' WHERE id =
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 4
hmm jetzt weiß ich dass er keine ID übernimmt stimmt das denn? bzw. liege ich da richtig?
MFG jaylibii
Hallo,
wie wärs du gibts dir die $id einfach mal aus?
gruss
Hi,
UPDATE beitraege SET post = 'EDIT EDIT EDIT' WHERE id =
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 4hmm jetzt weiß ich dass er keine ID übernimmt stimmt das denn? bzw. liege ich da richtig?
Sieht so aus, ja.
cu,
Andreas
Hallo Andreas,
Sieht so aus, ja.
und wie kann ich das nun machen, dass er auch die ID mit übergibt? Und vor allem was für ein Felher ist das denn?
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 4
MFG jaylibii
hi,
und wie kann ich das nun machen, dass er auch die ID mit übergibt?
beispielsweise, in dem du sie im formular in einem hidden field mit übergibst, und dann im folgescript per $_POST ausliest.
gruß,
wahsaga
Hallo,
ao sieht mein formular aus:
<form action="<?php echo $action; /* Hier wird nun eingetragen, welche aktion ausgefürht wird. Also save new oder save edit... */ ?>" method="post">
<table width="100%" border="0">
<tr>
<td align="right" valign="top"><p><b>Text:</b> </p></td>
<td valign="top"><p>
<textarea name="post" cols="80" rows="20" wrap="physical" class="chatfields_tall" id="post"><?php echo $data['post']; ?></textarea>
</p></td>
</tr>
<tr>
<td width="86%" height="34" colspan="2"><div align="right">
<input name=absenden type=submit class="chatfields" id="absenden" value=Abschicken>
</div></td>
</tr>
</table>
</form
MFG jaylibii
hi,
ao sieht mein formular aus:
schick.
und?
gruß,
wahsaga
Hi jaylibii,
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 4
near '' - da liegt das "Geheminis" begraben ;-)
Und zwar schreibt dir MySQL das worüber er sich beschwert immer zwischen ' und ' - in diesem Fall beschwert er sich also über "nichts", soll heißen: Er beschwert sich, weil da nichts ist an einer Stelle wo etwas sein sollte.
Habe ich mich halbwegs verständlich ausgedrückt? ;-)
Und in deinem Fall ist es eben das = zeichen - danach erwartet er noch etwas und das "nichts" ist an dieser Stelle eben ein Fehler.
MfG, Dennis.
Hi Dennis,
joa ich denke er will da eine ID haben wo keine Ist deshalb sagt er wohl auch dass da nichts ist liege ich da denn richtig?
MFG jaylibii
Hi jaylibii,
joa ich denke er will da eine ID haben wo keine Ist deshalb sagt er wohl auch dass da nichts ist liege ich da denn richtig?
Ja. Warum in $id allerdings keine ID drin steht, kannst nur du wissen - hast du nirgendwo im PHP Script $id einen Wert zugewiesen? (Dann solltest du bei Error Reporting E_ALL aber auch eine Notice Meldung bekommen.)
Wie man einen Wert weitergibt hat wahsaga dir ja schon gesagt, per hidden Feld wenn du ein Formular hast oder bei einem Link auch direkt an die URL dranhängen (im Link). Im Script greifst du dann entsprechend per $_GET['deinevariable'] oder $_POST['deinevariable'] darauf zu.
MfG, Dennis.
HI
$sql = "UPDATE beitraege SET post = '".$_POST['post'] ."' WHERE id = '".$id."'";
Probiers mal damit.
$res = mysql_query($sql);
mysql_query($sql) OR die(mysql_error());
warum machst du 2 mal mysql_query mit dem gleichen $sql???
MfG