Else Teil wird nicht akzeptiert

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

  • Else Teil wird nicht akzeptiert

    Hab ein Problem: Wenn ich eine Email überprüfe mit preg_match und die Adresse gültig ist wird sie ordnungsgemäß in die DB eingetragen.
    Ist die Email jedoch ungültig springt er mir zur Seite guestbook.php. Des else Teil der preg_match Abfrage wird überhaupt nicht beachtet. Woran liegt das?
    PHP-Code:
    if(strlen(@$_POST['email']) == null)
    {
        
    $sql mysql_query("insert into guestbook(name,comment,date,time)values('$name','$text','$date','$time')") or die(mysql_errno().": ".mysql_error());
    }
    else
    {
        if(
    preg_match("!^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})$!",$_POST['email']))
        {
            
    $sql mysql_query("insert into guestbook(name,comment,date,time,email)values('$name','$text','$date','$time','$_POST[email]')") or die(mysql_errno().": ".mysql_error());
        }
        else
        {
            unset(
    $_POST['send']);
            
    header ("Location: add_guest_comment.php?name2=".@$_POST['name']."&email2=error&comment2=".$_POST['comment']);  //ist das Eingabefenster. Die Textboxen
    werden dann mit den Feldern erneut gefüllt sodass der Text nicht verloren gehtDer header wird allerdings nicht ausgeführ und ich weiß nicht warum.
        }
    }
    header ("Location: guestbook.php"); 
    wenn ich es jedoch so mache klappt es.
    PHP-Code:
            if(strlen(@$_POST['email']) == null)
            {
                
    $sql mysql_query("insert into guestbook(name,comment,date,time)values('$name','$text','$date','$time')") or die(mysql_errno().": ".mysql_error());
                
    header ("Location: guestbook.php");
            }
            else
            {
                if(
    preg_match("!^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})$!",$_POST['email']))
                {
                    
    $sql mysql_query("insert into guestbook(name,comment,date,time,email)values('$name','$text','$date','$time','$_POST[email]')") or die(mysql_errno().": ".mysql_error());
                    
    header ("Location: guestbook.php");
                }
                else
                {
                    unset(
    $_POST['send']);
                    
    header ("Location: add_guest_comment.php?name2=".@$_POST['name']."&email2=error&comment2=".$_POST['comment']);
                }
            } 
    Woran liegt das?

    Mfg Markus
    Zuletzt geändert von markusschmitt; 20.08.2003, 18:55.

  • #2
    die müssten beide gehen:
    Code:
     preg_match ("/^[0-9a-z]([-_.]*[0-9a-z]*)*@[a-z0-9-]+\.([a-z]{2,4})$/i",$_POST['email']);
     !ereg('^[-!#$%&\'*+\\./0-9=?A-Z^_A-z{|}~]+'.'@'.'[-!#$%&\'*+\\/0-9=?A-Z^_A-z{|}~]+\.'.'[-!#$%&\'*+\\./0-9=?A-Z^_A-z{|}~]+$', $_POST['email'])
    aber frag bitte nicht warum ... reg_exp mit der eamil/www-adresse äregn mich auch jedesmal
    Kissolino.com

    Kommentar

    Lädt...
    X