DB Felder vergleichen

Zur Erklärung:
Also ich möchte bei Registrieren kontrollieren ob der User schon in der Datanbank ist und auch ob schon die Mail in der Datenbank steht. Um mehrfach anmeldungen zu vermeiden.

Siehe Script....

PHP:
$sql1                = "SELECT Nickname, Mail FROM benutzerdaten";
    $result1         = mysql_query($sql1);
    $data                = mysql_fetch_assoc($result1);

    $fehler         = false;
    $fehlertext = "";
    $muster         = "/^[a-zA-Z0-9-_.]+@[a-zA-Z0-9-_.]+\.[a-zA-Z]{2,4}$/";

    if(empty($_POST["Nickname"])) 
    {
        $fehler          = true;
        $fehlertext .= "<b>Bitte Username angeben!</b><br>";
    }    
    elseif (strlen($_POST["Nickname"]) < 4) 
    {
        $fehler          = true;
        $fehlertext .= "  Ihr Username ist zu Kruz!<br>\n";
    } 
    elseif ($data["Nickname"] == $_POST["Nickname"]) 
    {
            $fehler          = true;
            $fehlertext .= "        Ihr gewünschter Username ist leider schon vergeben!<br>\n";
    }    
        
    if(empty($_POST["Mail"])) 
    {
        $fehler          = true;
      $fehlertext .= "<b>Die E-Mail-Adresse fehlt!</b><br>\n";
    } 
    elseif (preg_match($muster, $_POST["Mail"]) == 0) 
    {
      $fehler          = true;
      $fehlertext .= "  Die E-Mail Adresse ist ungültig!<br>\n";
    } 
    elseif ($data["Mail"] == $_POST["Mail"]) 
    {
            $fehler          = true;
            $fehlertext .= "  Die angegebene E-Mail Adresse ist leider schon Registriert!<br>\n";
    }
        
    if($fehler) 
    {
        echo "<p>$fehlertext</p>";
    } 
    else 
    {
 
Kommt das in etwa hin?


PHP:
# Vor der DB Abfrage prüfen on alle Felder korrekt ausgefüllt sind...
$fehler = false;

if(empty($_POST["Nickname"]))  
    { 
        $fehler          = true; 
        $fehlertext .= "<b>Bitte Username angeben!</b><br>"; 
    }   
# ....... etc.


# Wenn bei den Feldern kein Fehler gemacht wurde, dann:

if ($fehler == false){
  $res = mysql_query("SELECT Nickname, Mail FROM benutzerdaten WHERE Mail = '".$_POST['email']."'");
# Wenn passende Einträge gefunden wurden
  if (mysql_num_rows($res) > 0){
    echo "Email Adresse bereits vorhanden";
  }

  $res2 = mysql_query("SELECT Nickname, Mail FROM benutzerdaten WHERE Nickname= '".$_POST['nickname']."'");
# Wenn passende Einträge gefunden wurden
  if (mysql_num_rows($res2) > 0){
    echo "Nickname bereits vorhanden";
  }
 
Zurück