doppelte datenbankeinträge mit firefox

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • doppelte datenbankeinträge mit firefox

    hi @ all!

    ich hab ein problem mit firefox und einer mySql-Datenbank und zwar werden durch den folgenden quelltext 2 neue einträge in die datenbanktabelle news aufgenommen:

    PHP-Code:
    <?
    $SQL_Befehl = "insert into news (nnr, nnachricht, nueberschrift) values (null, '".$_POST[fnnachricht]."', '".$_POST[fnueberschrift]."')";
    $resultat = mysql_db_query("Datenbankname", $SQL_Befehl);

    if ($resultat) {
     echo "News erfolgreich eingefügt!";
    } else {
       echo "Es ist ein Fehler aufgetreten!";
      }
    ?>
    beim 2. eintrag wird zwar ein neue zeile in der tabelle news erstellt, jedoch werden keine werte eingetragen.
    das komische daran ist, dass das problem nur bei verwendung des mozilla firefox auftritt, während es mit dem IE einwandfrei funktioniert.

    ich hoffe, dass mir jemand bei diesem problem weiterhelfen kann.

    gruss
    wickersham

  • #2
    Re: doppelte datenbankeinträge mit firefox

    Hast du denn die Generierung der Query und ihre Ausführung irgendwie davon abhängig gemacht, ob die POST-Parameter überhaupt existieren und gefüllt sind ...?
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      hi!

      nein diese abhängigkeit hab ich nicht mit eingebaut, aber ich hab schon probiert ob es daran liegen könnte, ob parameter übergeben werden oder nicht, tut es aber nicht.

      vielleicht ist es noch von bedeutung, dass die daten über ssl verschlüsselt werden.

      gruss
      wickersham
      Zuletzt geändert von wickersham; 10.05.2006, 08:03.

      Kommentar


      • #4
        tut es aber nicht
        das wage ich zu bezweifeln.
        Wenn du dein Skript aufrufst schreibt das bei jedem Seitenaufruf einen neuen Eintrag in die DB... da ist das egal ob FF oder IE

        Kommentar


        • #5
          @Daniela: ich glaube du hast mein posting etwas falsch verstanden und zwar meinte ich, dass ich es bereits ausprobiert hab zB statt $_POST[...] direkt werte in die sql-abfrage reinzunehmen.
          und an dem fakt, dass mít firefox 2 neue einträge gemacht werden kann ich leider auch nichts ändern.
          zumindest nicht ohne fremde hilfe, ansonsten hätte ich hier nicht dieses thema gestartet.

          gruss
          wickersham

          Kommentar


          • #6
            es ist bekannt, dass mozila sogar bei änderung von der fenstergrösse ein request auslösen kann.
            aus diesem Grund muss du ein mechanismus einbauen, der ein doppelpost vermeidet.
            dass kannman z.b.s durch erstellen von einem hidden-formularfeld, der bei ankommen von POST -variable mit gleichem namen ein zusätzlicher wert setzt.
            wenn formular zweite mall gepossten wird, kannst du durch abfangen von diesem wert die eintragung von daten verhindern.
            --------------------
            <form ......>
            <input type="hidden" name="posttest" value="<? if(isset($_POST["posttest"])) echo "gepostet"; ?>">
            </form>
            --------------------------------------------------
            //bei ankommen
            if(!empty($_POST["posttest"]))
            {dein insert}
            Slava
            bituniverse.com

            Kommentar


            • #7
              @Slava: Vielen, vielen Dank!!! Funktioniert jetzt einwandfrei mit beiden Browsern. Das hab ich nicht gewust, dass der Mozilla "unbeabsichtigte" requests auslöst.

              Auch noch THX an alle Vorposter, die sich bemüht haben, dass problem zu lösen.

              gruss
              wickersham

              Kommentar


              • #8
                Na ja!
                das sind die Erfahrungen die mir richtig die Nerven gekostet haben
                Slava
                bituniverse.com

                Kommentar

                Lädt...
                X