Mailformular

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

  • Mailformular

    Grüss euch

    Ich habe folgendes Problem: Habe ein Eingabeformular mit db anbindung gebastelt. Nun wenn ich jedoch das formular im browser aufrufe, so erscheint mir die Fehlermeldung die ich mit diesem code ausgebe:

    PHP-Code:
    $flag=1;
    if (
    $flag==1)
    {   
        
    $fehler="";
        
    $name trim($na);
        if (empty(
    $name)){$fehler="Bitte Namen eingeben<br>";} 
        
    $vorname trim($vn);
        if (empty(
    $vorname)){$fehler.="Bitte Vornamen eingeben<br>";} 
          
    $adresse1trim($adr1);
        if (empty(
    $adresse1)){$fehler.="Bitte die Adresszeile 1 ausf&uuml;llen<br>";}
        
    $postleitzahl trim($plz);
        if (empty(
    $postleitzahl)){$fehler.="Bitte die Postleitzahl eingeben<br>";}
        
    $ortschaft trim($ort);
        if (empty(
    $ortschaft)){$fehler.="Bitte den Ort eingeben<br>";}
        
    $nationalitaet trim($nat);
        if (empty(
    $nationalitaet)){$fehler.="Bitte die Nationalit&auml;t angeben<br>";}  
        
    $passnummer trim($pass);
        if (empty(
    $passnummer)){$fehler.="Bitte die Passnummer eingeben<br>";}  
        
    $telefonnummer trim($tel);
        if (empty(
    $telefonnummer)){$fehler.="Bitte die Telefonnummer eingeben<br>";} 
          
    $email trim($email);
        if (empty(
    $email)){$fehler.="Bitte die Emailadresse eingeben<br>";}
        
    $anz trim($anz);
        if (empty(
    $anz)){$fehler.="Bitte die gewünschte Menge eingeben<br>";}
        if(
    check_mail($email) == false) {$fehler .= "falsche mailaddress-syntax<br>";}

        if(
    $fehler)
        { 
            
    $meldung="<b>" .$fehler"</b>"
            unset(
    $flag); 
            echo 
    "<font color='black'>Es sind folgende Fehler aufgetreten: <br> " .$meldung"</font>";
        } 
    und dazu aber auch diese meldungen Notice: Undefined variable: na in /opt/lampp/htdocs/undefinierte variabeln.php on line 87

    Notice: Undefined variable: vn in /opt/lampp/htdocs/undefinierte variabeln.php on line 89

    Notice: Undefined variable: adr1 in /opt/lampp/htdocs/undefinierte variabeln.php on line 91

    Notice: Undefined variable: plz in /opt/lampp/htdocs/undefinierte variabeln.php on line 93

    Notice: Undefined variable: ort in /opt/lampp/htdocs/undefinierte variabeln.php on line 95

    Notice: Undefined variable: nat in /opt/lampp/htdocs/undefinierte variabeln.php on line 97

    Notice: Undefined variable: tel in /opt/lampp/htdocs/undefinierte variabeln.php on line 101

    Notice: Undefined variable: email in /opt/lampp/htdocs/undefinierte variabeln.php on line 103

    Notice: Undefined variable: anz in /opt/lampp/htdocs/undefinierte variabeln.php on line 105

    Doch bei vollständigem Ausfüllen des Skriptes geht alles wunderbar! An was liegt dies ?

  • #2
    versuchs mal deine Variablen so auszugeben:

    statt:
    PHP-Code:
    $fehler 
    nimm:
    PHP-Code:
    $_GET['fehler'

    Kommentar


    • #3
      Doch bei vollständigem Ausfüllen des Skriptes geht alles wunderbar! An was liegt dies ?
      Ev an einer schlampigen Programmierung Auch scheinst du mit register_globals on zu arbeiten --> nicht wirklich gut
      Dein Problem ist dass du nur eine ungenügende Prüfung der Userdaten machst. Wenn der User ein Feld nicht ausfüllt, dann gibt es die zugehörige Var nicht. Du fragst diese Var aber mit empty() ab und diese Fkt hat es nicht gerne wenn sie mit einer nicht definierten Variable aufgerufen wird.
      Also solltest du die Var erst mittels einer Fkt testen, die im Fehlerfalle keinen Fehler wirft d.h. z.B. isset()

      Gruss

      tobi
      Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

      [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
      Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

      Kommentar


      • #4
        d.h. ich muss zuerst alle variabeln $name, $vorname...usw. mit isset prüfen ?

        Ist dies richtig wenn ich so anfange:

        PHP-Code:

        function var_exists($var){
        if (isset(
        $name$vorname....//alle Variabeln);
        return true;
        }
        else 
        {
        return 
        false;
        }
        $flag=1;
        if (
        $flag==1)
        {   
            
        $fehler="";
            
        $name trim($na);
            if (empty(
        $name)){$fehler="Bitte Namen eingeben<br>";} 
            
        $vorname trim($vn);
            if (empty(
        $vorname)){$fehler.="Bitte Vornamen eingeben<br>";} 
              
        $adresse1trim($adr1);
            if (empty(
        $adresse1)){$fehler.="Bitte die Adresszeile 1 ausf&uuml;llen<br>";}
            
        $postleitzahl trim($plz);
            if (empty(
        $postleitzahl)){$fehler.="Bitte die Postleitzahl eingeben<br>";}
            
        $ortschaft trim($ort);
            if (empty(
        $ortschaft)){$fehler.="Bitte den Ort eingeben<br>";}
            
        $nationalitaet trim($nat);
            if (empty(
        $nationalitaet)){$fehler.="Bitte die Nationalit&auml;t angeben<br>";}  
            
        $passnummer trim($pass);
            if (empty(
        $passnummer)){$fehler.="Bitte die Passnummer eingeben<br>";}  
            
        $telefonnummer trim($tel);
            if (empty(
        $telefonnummer)){$fehler.="Bitte die Telefonnummer eingeben<br>";} 
              
        $email trim($email);
            if (empty(
        $email)){$fehler.="Bitte die Emailadresse eingeben<br>";}
            
        $anz trim($anz);
            if (empty(
        $anz)){$fehler.="Bitte die gewünschte Menge eingeben<br>";}
            if(
        check_mail($email) == false) {$fehler .= "falsche mailaddress-syntax<br>";}

            if(
        $fehler)
            { 
                
        $meldung="<b>" .$fehler"</b>"
                unset(
        $flag); 
                echo 
        "<font color='black'>Es sind folgende Fehler aufgetreten: <br> " .$meldung"</font>";
            } 
        Oder kann/mussman mit der Funktion isset jede einzelne Variable prüfen ?

        Bitte nicht böse sein wenn ich etwas falsch gemacht habe, bin noch Lehrling in diesem Fache

        Kommentar


        • #5
          Oder kann/mussman mit der Funktion isset jede einzelne Variable prüfen ?
          Bitte nicht böse sein wenn ich etwas falsch gemacht habe, bin noch Lehrling in diesem Fache
          Hast du dir den Link in meinem Post zum Thema isset() angesehen ? Wenn nicht dann schnell nachholen und du wirst schon sehen...

          Gruss

          tobi

          p.s. keine ist hier böse, solange du etwas Eigeninitiative zeigst. Und es schadet dabei nie sich auch die Links die so gepostet werden mal anzusehen
          Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

          [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
          Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

          Kommentar

          Lädt...
          X