jaylibii: Ein Fehler in einem Edit Formular

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

  1. $query = "SELECT * FROM simple_posts WHERE threadid='" . $_GET['threadid'] . "'";

    1. 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

  2. $post = $data['post'];
    }
    ?>

    Schon mal mit ; hinter der } Klammer probiert?
    Vielleicht ist es damit ja schon behoben.

    Gruß
    Schnaps

    1. 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

      --
      "It's amazing I won. I was running against peace, prosperity, and incumbency."
      George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
      1. 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

    2. 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

  3. 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

  4. 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

    1. 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.
      
      1. 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

        1. 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.

          1. 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

            1. 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

              --
              Warum nennt sich Andreas hier MudGuard?
              Schreinerei Waechter
              Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
              1. 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

                1. Hallo,

                  wie wärs du gibts dir die $id einfach mal aus?

                  gruss

                  --
                  no strict;
                  no warnings;
                  Der natürliche Feind der Festplatte ist der Teppich, der sich gerne mal elektrisch aufläd und der Festplatte eine wischt.
                  Kluge Leute sind auch nur Menschen.
                2. 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 4

                  hmm jetzt weiß ich dass er keine ID übernimmt stimmt das denn? bzw. liege ich da richtig?

                  Sieht so aus, ja.

                  cu,
                  Andreas

                  --
                  Warum nennt sich Andreas hier MudGuard?
                  Schreinerei Waechter
                  Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
                  1. 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

                    1. 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

                      --
                      /voodoo.css:
                      #GeorgeWBush { position:absolute; bottom:-6ft; }
                      1. 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

                        1. hi,

                          ao sieht mein formular aus:

                          schick.
                          und?

                          gruß,
                          wahsaga

                          --
                          /voodoo.css:
                          #GeorgeWBush { position:absolute; bottom:-6ft; }
                    2. 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.

                      --
                      Mein SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:# ss:) de:] js:| ch:{ sh:| mo:} zu:|
                      Auf viele Fragen weiß auch Wikipedia eine Antwort.
                      1. 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

                        1. 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.

                          --
                          Mein SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:# ss:) de:] js:| ch:{ sh:| mo:} zu:|
                          Dies hier ist ein öffentliches Forum - wer dir hier geholfen hat, hat dies vollkommen freiwillig und unter Aufopferung seiner Freizeit getan!
    2. 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