Mysql wird doppelt eingetragen

  • Hallo Leute,


    ich habe seit schon etwas längerer Zeit bei mir das Problem,
    dass wenn jemand einen Gästebucheintrag bei mir vornimmt die Einträge doppelt erscheinen.
    Ich kann mir irgendwie keinen Reim drauf machen und hoffe ihr könnt mir vielleicht helfen..


    Hier ist mal der Mysql Reinschreibecode:



    Grüße,
    Dominik

  • Warum machst du es dir so schwer? oO


    <!-- m --><a class="postlink" href="http://www.php-kurs.com/mysql-datenbank-mit-inhalt-fuellen.htm">http://www.php-kurs.com/mysql-datenbank ... uellen.htm</a><!-- m -->


    Schau dir mal hier den Code an.. sieht irgendwie wesentlich übersichtlicher aus als bei dir (und funktioniert) ;)
    Mal so probieren - vielleicht tuts dann (und es ist wesentlicher in so nem Code Fehler zu suchen als in einem mit mehr Satzzeichen als Buchstaben^^)


    Grüße

  • Hallo,


    ja ich werde das mal versuchen...
    Es wundert mich nur, weil ich habe den Code seit nem 3/4 Jahr nicht mehr angerührt und
    diese doppelten Einträge erscheinen erst seit ein paar Tagen...


    Grüße,
    Dominik

  • Servus,


    meines Erachtens liegt die Ursache des Problems in dieser Zeile:

    &quot;neuling11&quot; schrieb:
    Code
    1. $_POST[$key] = htmlspecialchars(trim($value)).mysql_real_escape_string($value);


    Damit fügst du die mysql-escapte Eingabe noch einmal an.
    Richtig wäre:

    PHP
    1. <span class="syntaxdefault">$_POST</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">$key</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> mysql_real_escape_string</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">htmlspecialchars</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">trim</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$value</span><span class="syntaxkeyword">)));</span><span class="syntaxdefault"> </span>


    Außerdem ist deine SQL-Query falsch.
    Die Syntax, um eine neue Zeile anzufügen, lautet:

    SQL
    1. INSERT INTO `tabellenname` (`feldname` [,`weiterer-feldname` [,`noch-mehr-felder]]) VALUES ('eintrag' [,'zweiter-eintrag' [,'x-ter-eintrag']])


    Hoffe, ich konnte helfen,
    webmaster3000