"f5" Problem

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

  • "f5" Problem

    Hallo!

    Ich habe mir selbst ein Script geschrieben in den man sich zu einen SMS Newsletter anmelden kann.

    Es funktionert sehr gut - außer:

    wenn man f5 drückt (Browser aktualisiert sich) wird eine neuer - leerer-Eintrag in die DB druchgeführt.
    Wie kann man das verhindern?

    LG
    Clemens

  • #2
    umleitung zu ner anderen seite auf der was steht von wegen: "Sie haben sich erfolgreich angemeldet"?
    umleitung zur hauptseite?

    oder du prüfst einfach ab, obb ein bestimmter eintrag schon in der db steht und gibst ggf. ne meldung aus "Sie haben sich bereits eingetragen"

    ohne skriptauszug is dir eher schwer zu helfen
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      PHP-Code:
      <html>
      <head>
      <title></title>
      </head>

      <body>
      <!-- Beginn des HTML-Formulars -->
      <form action="<?php echo $PHP_SELF ?>" method="POST">
         
                  <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber3">
                    <tr>
                      <td width="16%">
                      <img border="0" src="svmlogoneu1.jpg" width="100" height="100" align="left"></td>
                      <td width="84%">
                      <p align="left"><b><font color="#008000" size="5">SV Bauwelt 
                      Koch Mattersburg<br>
                      </font><font color="#008000" size="4">Anmeldung zum kostenlosen 
                      SMS Dienst</font></b></td>
                    </tr>
                  </table>
         
                  <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber2">
                  <tr>
                <td width="21%">Es sind zur Zeit <b><?php include("sms_anzahl.php"); ?></b> User angemeldet.<br></td>
                <td width="79%">&nbsp;</td>
              </tr>
              <tr>
                <td width="21%">Name</td>
                <td width="79%"><input type="text" name="name" size="39"></td>
              </tr>
               <tr>
                <td width="21%">Vorwahl</td>
                <td width="79%"><select size="1" name="vorwahl">
                <option value="43664">0664 (A1)</option>
                <option value="43676">0676(TMA)</option>
                <option value="43699">0699(ONE)</option>
                <option value="43650">0650 (TR)</option>
                </select></td>
              </tr>
              <tr>
                <td width="21%">Nummer</td>
                <td width="79%"><input type="text" name="nummer" size="39"><font size="2">(zB.:
                <b><font color="#008000">3351101</font></b> <b><font color="#FF0000">
                NICHT 335 11 01</font></b> !)</font></td>
              </tr>
              <tr>
                <td width="21%">eMail</td>
                <td width="79%"><input type="text" name="email" size="39"></td>
              </tr>
            </table>
            <p align="center"><input type="submit" value="Abschicken" name="B1"><input type="reset" value="Zurücksetzen" name="B2"></p>
            <p align="center"><font color="#008000"><b>Sie wollen Sie abmelden?
            <a href="sms_delete.php">HIER</a> klicken</b></font></p>
          </form>
          <p>&nbsp;</td>
        </tr>
      </table>
      </form>
      <!-- Ende des HTML-Formulars -->
      <?php

      // 1. Deklaration der Variablen:
      $dbhost="";
      $mydb="";
      $dbuser="";
      $dbpasswd="";

      // 2. Erstellung der Verbindung zur Datenbank:
      $db=mysql_connect($dbhost$dbuser$dbpasswd);
      mysql_select_db($mydb$db);

      // 3.Eintragung in die Datenbank:
      $query="INSERT into sms (name, vorwahl, nummer, email)
              VALUES ('
      $name', '$vorwahl', '$nummer', '$email')";
                   
      mysql_query($query$db);
              

      mysql_close();

      ?>
      </body>
      </html>

      also wenn ich das script dann umleite dann ist das Problem behoben?
      wie geht das?

      Clemens

      Kommentar


      • #4
        und wie mach ich das dass dann steht" sie sind bereits angemeldet"?

        PLZ HELP ME

        Kommentar


        • #5
          Du kannst vorher auch überprüfen ob das Feld/die Felder die du in deine Datenbank schreiben willst nicht leer sind, und falls diese das sind, soll er nichts in die DB schreiben.
          mfg
          Günni


          Praxis: Jeder kann´s, aber keiner weiß wie´s geht...
          Theorie: Jeder weiß wie´s geht, aber keiner kann´s ...
          Microsoft vereint Praxis und Theorie: Nix geht und keiner weiß warum
          City-Tiger - Online durch die Straßen tigern...

          Kommentar


          • #6
            und wie stell ich das an?

            Kommentar


            • #7
              SO:

              PHP-Code:
              if($variablename != "")
              {
                 
              Eintragungscode hierein

              }
              else
              {
                 
              Fehlermeldung ausgeben 
              mfg
              Günni


              Praxis: Jeder kann´s, aber keiner weiß wie´s geht...
              Theorie: Jeder weiß wie´s geht, aber keiner kann´s ...
              Microsoft vereint Praxis und Theorie: Nix geht und keiner weiß warum
              City-Tiger - Online durch die Straßen tigern...

              Kommentar


              • #8
                Korrektur:

                PHP-Code:
                if($variablename != "")
                {
                   
                Eintragungscode hierein

                }
                else
                {
                   
                Fehlermeldung ausgeben

                mfg
                Günni


                Praxis: Jeder kann´s, aber keiner weiß wie´s geht...
                Theorie: Jeder weiß wie´s geht, aber keiner kann´s ...
                Microsoft vereint Praxis und Theorie: Nix geht und keiner weiß warum
                City-Tiger - Online durch die Straßen tigern...

                Kommentar


                • #9
                  und wie mach man das, dass nach dem abschicken des Forumular eine andere Seite aufgeht?

                  Kommentar


                  • #10
                    THX!!! Es funktioniert!!

                    2 Fragen noch:

                    a) wie geht das mit der Umleitung
                    b) doppelte Einträge? wie kann ich überprüfen VOR der eintragung ob der user noch nicht angemeldet ist?


                    Clemens

                    Kommentar


                    • #11
                      2.) Suche nach prüfen schon eingetragen oder sowas ähnliches.
                      1.) Umleitung mit header();

                      Kommentar


                      • #12
                        PHP-Code:
                        header("location: url (relativ oder absolut"); 
                        geht aber nur, wenn noch keine ausgabe an den browser geschickt wurde. also würd ich vorschlagen, du machst alles was php is nach oben vor das öffnende <html>
                        Ich denke, also bin ich. - Einige sind trotzdem...

                        Kommentar


                        • #13
                          Was ich gesagt habe!

                          Kommentar


                          • #14
                            sry, hatte das ding schon ewig geschrieben und dachte ich hätte den beitrag schon längst geschickt. nächstes mal schau ich vorher nochmal nach

                            ich bitte hiermit vielmals und untertänigst und in aller form sowieso um vergebung
                            Ich denke, also bin ich. - Einige sind trotzdem...

                            Kommentar


                            • #15
                              Na das muss ich mir aber mal überlegen .

                              Deine Aussage war auf jeden Fall um einiges präziser als meine. Verhindert vielleicht einige Fehler im Voraus. In sofern sehr brauchbar.

                              Aber wir werden hier OT. Bis dann...

                              Kommentar

                              Lädt...
                              X