Formulardaten Checken

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

  • Formulardaten Checken

    Hallo Leute,
    ich möchte Daten aus einem Formular an ein Script übergeben welches die Daten nach Plausibilität überprüft und diese danach an ein script übergibt welches die Daten (wenn sie plausibel sind) in eine Datenbank schreibt. Kann mir wer ein Beispiel geben, wie ich das Script zu prüfen der Daten aufbauen kann. Mir ist nicht klar wie dieses Script die Daten an das nächste übergibt.
    Danke Lemmy
    Heavy Metal Is The Law |

  • #2
    Hey Lemmy!
    Ich überprüfe Formulareingaben mit JavaScript um effectiv zu programmieren. Dies mag nicht jedem Gefallen, ich komme damit ganz gut zurecht. Das Script überprüft vor der versendung der Daten deren Inhalt. ein einfaches Beispiel.

    <html>
    <head>
    </head>
    <body>
    <SCRIPT language="JavaScript">
    function checkdata(){
    var re_email = /^([_a-zA-Z0-9-]+)(\.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,3})$/;
    var email = document.sendform.email.value;
    var name = document.sendform.name.value;
    var checked = true;
    if (name.length<3) {
    alert("Name muss mindestens 3 Zeichen enthalten");
    checked = false;
    }
    if ((re_email.test(email))==false || email.length==0) {
    alert("E-Mail-Adresse falsch!");
    checked = false;
    }
    if (checked) {
    document.sendform.method = "post";
    document.sendform.action = "<? echo $PHP_SELF ?>";
    document.sendform.submit();
    }
    return checked;
    } /* end function */
    </SCRIPT>
    <h1>Formulare auswerten mit JavaScript</h1>
    <div class=text>
    <?
    if ($sent & $name) {
    echo "Sie haben folgende Nachricht gesendet:<P>";
    echo "<B>Ihr Name:</B> $name<BR>";
    echo "<B>E-Mail:</B> $email<BR>";
    echo "<FORM method=post action=03_002.php>";
    echo "<INPUT type=submit value=\"Neue Nachricht senden?\">";
    echo "</FORM>";
    }
    else
    {
    ?>
    <FORM name=sendform onsubmit="return checkdata()">
    <TABLE>
    <TR>
    <TD>Mein Name:</TD><TD><INPUT type=text name=name size=50>
    </TD>
    </TR><TR>
    <TD>Meine E-Mail:</TD><TD><INPUT type=text name=email size=50>
    </TD>
    <TR><TR>
    <TD COLSPAN=2>
    <INPUT type=submit value=Absenden>
    <INPUT type=reset>
    <INPUT type=hidden name=sent value=1>
    </TD>
    </TR>
    </TABLE>
    </FORM>
    <?
    }
    ?>
    </div>
    </body>
    </html>

    Kommentar


    • #3
      JS + PHP

      Hi,

      ganz auf der sicheren Seite bist Du wenn zweigleisig fährst, also die Felder mit JS überprüftst (Der User also ohne neuladen/ Backbutton auf vergessene od. falsche Felder hingewiesen) wird. Und dann nochmals die Felder per PHP testest.
      Stichwort reg. Ausdrücke, meinetwegen auf eMail:
      if (if('^[a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,3})$'){}

      Gruß
      Thomas
      Gruß
      Thomas

      Kommentar


      • #4
        Doppelt gemoppelt hält zwar besser, aber reg. Ausdrücke sind Serverseiteig sehr langsam, und haben eine hohe Rechnerbelastung. Wenn man also komplexe Formulare auswerten will, halte ich die Clientseiteige Lösung für die beste.

        Kommentar


        • #5
          Vielen Dank....damit werde ich mich jetzt erstmal auseinandersetzen
          Heavy Metal Is The Law |

          Kommentar


          • #6
            Viel Spass!
            Diese Diskussion hat etwas von Philosophie.

            Kommentar


            • #7
              mhhhh... könnt Ihr mir wohl noch sagen wie ich jemand dazu zwinge bei einem Pulldownfeld eine Eingabe zu machen und der Eintrag "Bitte wählen" nicht als Eintrag gewertet wird.
              Danke schon mal im vorraus
              Lemmy
              Heavy Metal Is The Law |

              Kommentar


              • #8
                Ich würde den Wert über if Abfragen, und wenn nichts gewählt wurde (Wert=Bitte wählen) den user darauf hinweisen.

                [Editiert von Gizmo am 06-11-2001 um 15:15]

                Kommentar

                Lädt...
                X