• Ich habe gerade gemerkt das wenn ich bei meinem GB und News Script ' eintippe bekomme ich einen Mysql Fehler.

    Beim Kontakt Script ist es nicht so.

    Hier mal den Code

    Wieso ist das so?

  • ich weiß nicht ob das ein Problem ist den Tabellennamen in Anführungszeichen zu schreiben aber Probiers mal so:

    Code
    $insert = "INSERT INTO rem_book


    anstatt so:

    Code
    $insert = "INSERT INTO `rem_book`
  • du musst addslashes() auf die variablen anwenden, dann geht es, ích hatte das glieche problem und konnte es so geheben.... (erst vor ein paar tagen ;) )

    Sei immer du selbst. Außer du kannst Batman sein. Sei immer Batman!

  • also durchs abschicken der Formulare wird das ganze einen magick quote unterzogen


    $posttext = str_replace("<","&lt;",$posttext);
    $posttext = str_replace(">","&gt;",$posttext);

    siehe da mal strip_tags()

    Da müsstest du nun mal in die DB gucken wie es dort ausschaut ...

    falls es da schon mit / vor drann steht, wurde es mittels // also 2 gespeichert...

    Das problem liegt daran, das auch sql einen quotung benötigt..
    Und diese wird durch die von dir verwendeten ' anstat " nicht aufgehoben durch den SQL server... also vorher richtig enquoten oder:

    $insert = 'INSERT INTO `rem_book` ( postid, posttext, posttime, authorname, authorwebsite, authoremail, authorip, stat )
    VALUES ( "'.$postid', "'.$posttext.'", "'.$posttime.'", "'.$authorname.'", "'.$authorwebsite.'", "'.$authoremail.'", "'.$authorip.'", "'.$stat.'");';

  • Zitat von GreenRover


    $insert = 'INSERT INTO `rem_book` ( postid, posttext, posttime, authorname, authorwebsite, authoremail, authorip, stat )
    VALUES ( "'.$postid.'", "'.$posttext.'", "'.$posttime.'", "'.$authorname.'", "'.$authorwebsite.'", "'.$authoremail.'", "'.$authorip.'", "'.$stat.'");';

    ". einmal vergessen :wink:

    Ja so geht's Danke