tutorials.de Buch-Aktion 02/2012
  • [PHP] Formular eingabe überprüfen

    so eigentlich sollte ich mich ja aufs ABI vorbereiten aber naja egal...

    PHP-Code:
    <?
    if ($aktion=="check"){                             #beim absenden des Formulars wird die variable $aktion gesetzt damit das script weiss das es nicht der erste Aufruf war...
            
    if(eingabe_check($name,$mail,$text)==1){   # eingabe_check überprüft die Eingaben, sie gibt bei Korrekten angaben 1, ansonsten eine Fehlermeldung zurück
            
    echo "Name: ".$name."<br>";
            echo 
    "Email: ".$mail."<br>";
            echo 
    "Text: ".nl2br($text)."<br>";
        }
        else{
            echo 
    eingabe_check($name,$mail,$text);    # Die durch eingabe_check Entdeckten Fehler werden ausgegeben
            
    formular_ausgabe($name,$mail,$text);      # Und das Formular wird mit den bereits erfolgten eingaben angezeigt
        
    }
    }
    else{
        
    formular_ausgabe($name,$mail,$text);          # ist $aktion nicht gesetzt wird einfach das Formular angezeigt
    }

    function 
    formular_ausgabe($name,$mail,$text){ # Die funktion gibt nur das Formular aus, entweder mit eingaben die schon gemacht wurden,
        
    global $PHP_SELF;                         # oder (beim ersten aufruf, wo die die Variablen noch lehr sind) ohne.
        
    echo "<form name=\"formular\" action=\"".$PHP_SELF."?aktion=check\" method=post>
              <table><tr><td colspan=2 align=left><b>Name:</b></td></tr>
               <tr><td colspan=2><input name=\"name\" type=text size=40 maxlength=40 value=\""
    .$name."\"></td></tr>
               <tr><td colspan=2 align=left><b>E-mail:</b></td></tr>
               <tr><td colspan=2><input name=\"mail\" type=text size=40 maxlength=40 value=\""
    .$mail."\"></td></tr>
               <tr><td align=left><b>Text:</b></td></tr>
               <tr><td colspan=2><textarea name=\"text\" rows=10 cols=115 wrap=virtual>"
    .$text."</textarea></td></tr>
               <tr><td><input type=reset  value=\"L&ouml;schen\"></td>
               <td align=right>
               <input type=submit name=\"schreiben\" align=right  value=\"Senden\" onClick=\"return test()\"></td></tr></table>"
    ;
    }
    function 
    eingabe_check($name,$mail,$text){
        if (
    $name == ""$fehler $fehler." ihren Namen"# Alle eingaben werden darauf geprüft ob sie überhaupt gemacht wurden
        
    if ($text == ""$fehler $fehler." ihen Text";   # wurden sie nicht gemacht wird die Variable $fehler gesetzt oder eine weitere
        
    if ($mail == ""){                                  # Fehlermeldung angehängt.
            
    $fehler $fehler." ihre Emailadresse";
        }
        else {                                             
    # Der Email adresse schenken wir besondere aufmerksamkeit, wir wollen uns ja nicht ganz so einfach verarschen lassen...
            
    if(strstr($mail,"@") && strstr($mail,".")){    #deshalb überprüfen wir ob ein @ und wenigstens ein . darin enthalten sind.
            
    }                                              # das heisst zwar noch immer nicht das die Adresse Existiert aber sie ist wenigstens formal richtig
            
    else {
                
    $fehler $fehler." echte Mailadresse";
            }
       }
      if (
    $fehler =="") return 1;                         # gab es keinen Fehler bei der überpüfung geben wir 1 zurück
      
    else{ return "Bitte geben sie noch<b>".$fehler."</b> ein.<br>";}     #ansonsten die Fehlermeldung
    }
    ?>
    Ich hoffe das Tut hilft euch oder erspart euch wenigstens ein bischen Arbeit.... die mag ich nähmlich auch nicht...

    tob
     


    Kommentare Kommentar schreiben

    Klicke hier, um dich anzumelden

    Was ist grün und kann quaken?