Ankündigung

Einklappen
Keine Ankündigung bisher.

ereg() function fehler?

Einklappen

Neue Werbung 2019

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

  • ereg() function fehler?

    Habe ein kleines problem habe mir die funktion zusammengebaut und will damit email adressen prüfen,

    if (!ereg("[A-Za-z0-9]+@+[A-Za-z0-9\-]+\.+[A-Za-z0-9]",$email) && $email != "")
    {
    echo(" Bitte geben Sie eine richtige E-Mail an !!!");
    }
    else
    {


    print "test";
    }

    1. auch wenn nichts angegeben ist geht er in die else rein
    2. alles soll losgehen wenn ich auf ein button klicke


  • #2
    Natürlich geht er in den else Teil, wenn du nichts eingiebst. Liegt ganz einfach an der zweiten Bedingung, sprich nach dem &&. Da steht, dass er true zurückgeben soll, wenn $email etwas beinhaltet. Das tut es aber nicht => es wird false zurückgegeben => du kommst in den else-Teil.

    Kommentar


    • #3
      ja aber warum geht er sofort in den else teil also er gibt immer test aus obwohl das formular garnicht abgeschickt habe

      Kommentar


      • #4
        schreib mal den quellcode, in welchem zusammenhang deine funktion setehn soll...
        Under Construktion

        Kommentar


        • #5
          Wenn das Formular nicht abgesendet wurde,ist $email null -einfach mal testen mit var_dump($email); - und null!="" ergibt false. Deshalb ist die if(&&) Bedingung nicht erfüllt -> else Zweig.

          Kommentar


          • #6
            und wie kann ich den code ändern verändern??

            Kommentar


            • #7
              PHP-Code:
               if (!ereg("[A-Za-z0-9]+@+[A-Za-z0-9\-]+\.+[A-Za-z0-9]",$email) && isset($email)) 
              so vllt?
              Under Construktion

              Kommentar


              • #8
                PHP-Code:
                <html>
                  <head><title>email</title></head>
                  <body>
                    <form action="" method="post">
                      <div>
                        <input type="text" name="maddr" />
                        <input type="submit" />
                      </div>
                    </form>
                <?php
                function isValidEmailAddr($addr)
                {
                  return 
                true;
                }

                if(isset(
                $_POST['maddr']))
                {
                  
                $email trim($_POST['maddr']);
                  if (
                strlen($email)==0)
                  {
                    echo 
                'email Adresse angeben';
                  }
                  else if(!
                isValidEmailAddr($email))
                  {
                    echo 
                'email Adresse ungültig';
                  }
                  else {
                    echo 
                'Danke';
                  }
                }
                ?>  
                  </body>
                </html>
                und zu isValidEmailAddr() kannst Du nochmal email regex - Google-Suche befragen.

                Kommentar


                • #9
                  ja hier prüfst du ob das feld ausgefüllt ist unoder nicht das ist ja kein problem, ich will aber das er auch prüft ob ein @ vorhanden ist und ein punkt .

                  Kommentar


                  • #10
                    Ja, und das packst Du -Du selbst, höchstpersönlich- in die Funktion isValidEmailAddr().
                    ereg() ist veraltet. Der reguläre Ausdruck ist nicht "perfekt". Deshalb nochmal google befragen. Der "richtige" reguläre Ausdruck (und ob überhaupt regulärer Ausdruck oder nicht) ist eine "Wissenschaft" für sich - eher schon eine Religion. Da halte ich mich raus. Aber bei google findest Du dazu mehr als genug Infomaterial.

                    Kommentar

                    Lädt...
                    X