steffen: variablenzuweisung funktioniert nicht

Beitrag lesen

Hi,

im folgenden Code geht es um die Variable $emailcheck. Dieser Code funktioniert auch!

$emailcheck=preg_match("!^\w[\w|.|-]+@\w[\w|.|-]+.[a-zA-Z]{2,4}$!",$email);
        login_db();
        $abfrage=mysql_query("SELECT Email FROM user WHERE Email = "". strtolower($email) ."" ");
        if($result=mysql_num_rows($abfrage) or !$vorname or !$nachname or !$emailcheck){
         if($result){
   echo "Diese eMail wird bereits genutzt!";
  }elseif(!$emailcheck){
   echo "<p>".$emailcheck."Geben Sie eine korrekte eMail ein!</p>";
  }
  if(!$vorname or !$nachname){
   echo "<p>Geben Sie bitte alle Daten ein!</p>";
  }
  echo "<br><br><a href="index.php">zurück</a>";
 }

Leider funktioniert es nicht wenn ich den emailcheck in die if()-Anweisung schreibe, also so:

if($result=mysql_num_rows($abfrage) or !$vorname or !$nachname or !$emailcheck=preg_match("!^\w[\w|.|-]+@\w[\w|.|-]+.[a-zA-Z]{2,4}$!",$email)){

Demnach gibt er die Abfrage immer aus

if(!$emailcheck){

Wieso funktioniert das nicht?