Formular prüfen vor submit

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

  • Formular prüfen vor submit

    Hi,

    Hab ein Formular script,
    nun möchte ich es per php aber vor dem abschicken auf seine richtigkeit überprüfen!
    d.H. das ich die if operatoren ins formular-script selber einbauen kann!

    Mir ist jedoch schleierhaft wie ich das VOR dem abschicken durch den Submitbutton machen kann!

    Folgende scripts:
    1.php (Formular):
    PHP-Code:
    <form action="2.php" method="post">
    <
    body style="background-color: #000000; color:#FFFFFF">


    <
    table>
       <
    tr>
         <
    td>Option:</font></td>
         <
    td> <select name="art" size="6" multiple="multiple">
        <
    option value="Support1">Support1</font></option>
        <
    option value="Support2">Support2</font></option>
        <
    option value="Support3">Support3</font></option>
        <
    option value="Support4">Support4</font></option>
        <
    option value="Support5">Support5</font></option>
        <
    option value="Support6">Support6</font></option>
    </
    select>
           </
    td>
         </
    tr>  <br />
         <
    tr>
           <
    td >Vorname:</font></td>
           <
    td>  <input type="text" name="vorname" /></td>
         </
    tr>
              <
    tr>
           <
    td >Nachname:</font></td>
           <
    td>  <input type="text" name="nachname" /></td>
         </
    tr>
              <
    tr>
           <
    td >Ort:</font></td>
           <
    td>  <input type="text" name="ort" /></td>
         </
    tr>
              <
    tr>
           <
    td >Land:</font></td>
           <
    td> <select name="land">
        <
    option value="no">--Bitte wählen--</option>
        <
    option value="DE">Deutschland</option>
        <
    option value="AU">Östereich</option>
        <
    option value="CH">Schweiz</option>
    </
    select>
            </
    td>
         </
    tr>
         <
    tr>
    <
    td>Sicherheit: <br /><img src="captcha/captcha.php" border="0" title="Sicherheitscode"></td>
    <
    td><input type="text" name="sicherheitscode" size="5"></td>
    </
    tr>
         <
    tr><td>
         <
    input name="submit" type="submit" value="Absenden"/>
         </
    td>
        </
    tr>
     </
    table>
    </
    form
    und folgendes Verarbeitungsscript:
    2.php :
    PHP-Code:
    <?php
    session_start
    ();  ?>
    <body style="background-color: #000000 ; color: #FFFFFF;">
    <?php
    $datum   
    strftime("%d.%m.%Y");
    $zeit    date("H:i");
    $art=$_POST['art'];
    $vorname=$_POST['vorname'];
    $name=$_POST['nachname'];
    $ort=$_POST['ort'];
    $land=$_POST['land'];

    if  (
    $art == "") {
      die (
    "<CENTER><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p>Bitte Wähle eine Supportart aus!</CENTER>");
    }
    if (
    $vorname == "") {
      die (
    "<CENTER><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p>Bitte gib einen Vornamen an!</CENTER>");
    }
    if (
    $name == "") {
      die (
    "<CENTER><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p>Bitte gib deinen Nachnamen an!</CENTER>");
    }
    if (
    $ort == "") {
      die (
    "<CENTER><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p>Gib bitte deinen Wohnort  an!</CENTER>");
    }
    if (
    $land == "no") {
      die (
    "<CENTER><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p>Bitte wähle dein Land!</CENTER>");
    }
    ?>

    <?php
    if(isset($_SESSION['captcha_spam']) AND $_POST["sicherheitscode"] == $_SESSION['captcha_spam']){
    unset(
    $_SESSION['captcha_spam']);

    echo 
    "<CENTER>";
    echo 
    "Vielen Dank, deine Supportanfrage wurde erfolgreich eingetragen! <br />   ";
    echo 
    "Wir werden uns bemühen, sie so schnell wie möglich zu bearbeiten!     <br />  ";
    echo 
    "Viel Spass weiterhin auf unserem Server,          <br />      ";
    echo 
    "Dein WoW-Fun-Team          <br />               ";
    echo 
    "<br />     ";
    echo 
    "<br />     ";
    echo 
    "";
    echo 
    "</CENTER>";

    $ausgabe"\r\n"."<br/>"."<B>Zeit: </B>".$datum." um ".$zeit." Uhr"."<br/>" ."<b>Supportgrund</b>: 
    "
    .$art."<br/>"."<b>Charaktername:</b> ".$vorname."<br/>"."<b>Accountname:</b> 
    "
    .$name."<br/>"."<b>Ort:</b> ".$ort."<br/>"."<b>Fraktion:</b> ".$land."<hr>";

    $datei=fopen("namen.html","a");
    $output=fwrite($datei,$ausgabe);
    fclose($datei);

    }
    else{

       die (
    "Der Sicherheitscode ist falsch!");
    }
    ?>
    Kann mir vllt jemand helfen, die If Abrfrage am anfang des 2.php-scripts in den 1.php-teil zu packen???

    Bitte....
    ich weiß es ist viel text, müsste aber ganz übersichtlich sein!

  • #2
    Hallo Change,

    PHP-Code:
    if(isset($_POST['submit'])) {
    //jetzt die Formulareingaben überprüfen, wenn alles i.O. dann Eintrag,
    //wenn nicht dann Meldung ausgeben das beschreibt welche Formulareingabe nicht in Ordnung ist.

    Kommentar


    • #3
      Kannst du mit "normalem" PHP nicht. (Vielleicht mit AJAX, da hab ich aber keine Ahnung von.)

      Du könntest das ganze mit JavaScript prüfen, während der User es eingibt. Das ersetzt aber die nachfolgende Prüfung mit PHP nicht!

      Kommentar


      • #4
        Original geschrieben von gourmet
        Hallo Change,

        PHP-Code:
        if(isset($_POST['submit'])) {
        //jetzt die Formulareingaben überprüfen, wenn alles i.O. dann Eintrag,
        //wenn nicht dann Meldung ausgeben das beschreibt welche Formulareingabe nicht in Ordnung ist.

        Er möchte es vor dem Abschicken des Formulars testen. Ein Affenformular hilft hier also nicht.

        Kommentar


        • #5
          Javascript.

          *move*

          Kommentar


          • #6
            OffTopic:
            Codeumbruch wäre geil

            Zum Thema - ma als denkanstoss:

            - onblur -> start request an ajax mit id -> return result

            Das heißt - wenn der user das entsprechende inputfeld verlässt, startest due einen ajax-request, der mittels php diese eingabe prüft.

            Sinnvoller wäre es aber den submit button zu nem "button" zu machen und mit einem onclick-event zu arbeiten. bedeutet: wenn der user auf den button klickt, wird per ajax-request alle eingaben überprüft mittels deines php-scriptes.

            wenn alle daten korrekt sind, erst dann sendest du mit document.formularname.submit() das formular zum speichern ab

            ich hoffe s hilft etwas
            OffTopic:
            dann musst du aber auch die "enter" taste abfangen um ein absenden per "entertaste" zu verhindern!
            Signatur-Text ...

            Kommentar

            Lädt...
            X