Ein Wort in SQL suchen

Tix

Erfahrenes Mitglied
Ich suche ein PHP-Script, welches mir eine SQL-Datenbank ausließt, ob ein Nickname schon vorhanden ist, und auch prüft ob die Email schon vorhanden ist (für einen Login-Bereich)

Ist der Nick vorhanden soll folgendes passieren:
$fehler = 1;

Ist die Email vorhanden soll folgendes passieren:
$fehler = 2;

Ist weder das eine noch das andere Vorhanden soll eine neue Datei aufgerufen werden.

Hier mein Script, was allerdings nicht funktioniert, weil es immer die neue Datei aufruft, egal was ich eingebe.

Danke schonmal im Voraus.

Code:
  <?php
  // Aufbau der Datenbankverbindung
  $connectionid  = mysql_connect ("localhost", "benutzer", "pw");
  if (!mysql_select_db ("usr_kmm611_1", $connectionid))
  {
    die ("Keine Verbindung zur Datenbank");
  }
  
    
  $abfrage = "SELECT nick FROM benutzerdaten";
  $ergebnis = mysql_query($abfrage);
  while($row = mysql_fetch_object($ergebnis)) 
  {
  		  if ($row->nick == $nick) 
  		   {$fehler = 1;}
  		   
  		 else {
  			
 			 	$abfrage = "SELECT email FROM benutzerdaten";
 				 $ergebnis = mysql_query($abfrage);
 			 	while($row = mysql_fetch_object($ergebnis)) 
  				{
  			  
 		 			if ($row->email == $email)
 						{$fehler = 2;}
  			  
 						 else
 			 			{$fehler = 3;}
  				}
  			  }
  }
  echo($fehler);
  ?>
 
Versuch's mal so:
PHP:
<?php
// Aufbau der Datenbankverbindung
$connectionid  = mysql_connect ("localhost", "benutzer", "pw");
if (!mysql_select_db ("usr_kmm611_1", $connectionid))
  die ("Keine Verbindung zur Datenbank");

$abfrage = "SELECT nick FROM benutzerdaten";
$ergebnis = mysql_query($abfrage);
$fehler = 0;
while($row = mysql_fetch_object($ergebnis))
  if ($row->nick == $nick)
    $fehler = 1;

if($fehler != 1)
{
  $abfrage = "SELECT email FROM benutzerdaten";
  $ergebnis = mysql_query($abfrage);
  while($row = mysql_fetch_object($ergebnis))
    if ($row->email == $email)
      $fehler = 2;
  if($fehler != 2)
    echo "Weder Nick noch E-Mail vorhanden!";
  else
    echo "E-Mail bereits vorhanden!";
}
else
  echo "Nick bereits vorhanden!";
?>

redlama
 
PHP:
<?php
 $sex 	= $_REQUEST['sex'];
 $zeit 	= time();
 
 include '../include/db_connection.php';
 
 $abfrage 	= "SELECT user_nick FROM tr_user";
 $ergebnis 	= mysql_query($abfrage);
 $fehler 	= 0;
 
 while($row = mysql_fetch_object($ergebnis))
   if ($row->nick == $nick)
 	$fehler = 1;
 
 if($fehler != 1)
 {
   $abfrage = "SELECT email FROM benutzerdaten";
   $ergebnis = mysql_query($abfrage);
   while($row = mysql_fetch_object($ergebnis))
 	if ($row->email == $email)
 	  $fehler = 2;
   if($fehler != 2)
 	   $String = "Dies ist der Text, der verschlüsselt wird, damit wir sichere Passwoerter generieren können.";
 	   $Length = 8;
 	   $String = md5($String);
 	   $StringLength = strlen($String);
 	   srand ((double) microtime() * 1000000);
 	   $Begin = rand(0,($StringLength-$Length-1));
 	   $pw = substr($String, $Begin, $Length);
 	   
 	   /* Empfänger */
 	   $to  = "$email";
 	   
 	   /* Betreff */
 	   $subject = "Deine Registrierung bei Tafelrunde";
 	   
 	   /* Nachricht */
 	   $message = '	Hallo ' .$nick. ',\n
 			   		Vielen Dank für deine Anmeldung!\n
 					\n
 		    		Dein Username lautet: ' .$nick. ' \n
 					Dein Passwort lautet: ' .$pw. '\n
 					\n
 		    		Bitte benutze folgenden Link um dich einzuloggen:\n
 					\n
 					http://florian-bloemker.de/\n
 					\n
 		    		Viel Spass beim Spielen wünscht Dir das \n
 					\n
 					Tafelrunde-Team\n
 				  ';
 		
 		/* Um eine HTML-Mail zu senden, können Sie den den "Content-type"-Header setzen */
 		$headers  = "MIME-Version: 1.0\r\n";
 		$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
 		
 		/* zusätzliche Header */
 		$headers .= "To: $nick <$email>\r\n";
 		$headers .= "From: Tafelrunde <info@florian-bloemker.de>\r\n";
 		
 		/* Verschicken der Mail */
 		mail($to, $subject, $message, $headers);
 		$pwd = md5($pw);
 		
 		// Daten eintragen
 		$sql = 	"INSERT INTO `tr_user` (`user_nick`,`user_password`,`user_email`,`user_sec_email`,`user_vorname`,`user_nachname`,`user_sex`,`user_bd_day`,`user_bd_month`,`user_bd_year`,`user_origin`,`user_icq`,`user_aim`,`user_yim`,`user_signatur`,`user_hobby`,`user_reg_date`,`user_lastlogin`,`user_status`,`user_avatar`,`user_posts`,`game_finance`) 
 		    	 VALUES ('$nick', '$pwd', '$email', '$sec_email', '$vorname', '$nachname', '$sex', '$bd_day', '$bd_month', '$bd_year', '$origin', '$icq', '$aim', '$yim', '$signatur', '$hobby', '$zeit', '$zeit', 'User', '$avatar', '0', '5000')";
 		mysql_query ($sql);
 		
 		header("Location: ../index.php?angelegt=1");
 
   else
 		header("Location: ../index.php?email_error=1");
 }
 else
  header("Location: ../index.php?nick_error=1");
 ?>

Hi, hab ausversehen ein Fehler eingebaut. Kann mir mal jemand sagen was daran so falsch ist?

Fehlermeldung lautet:

Parse error: parse error, unexpected T_ELSE in /home/www/kmm611/html/florian-bloemker/login/reg_do.php on line 72

Danke
 
Steht doch schon da , else an ungültiger position.

Code:
        header("Location: ../index.php?angelegt=1");

   else  <----?
        header("Location: ../index.php?email_error=1");
}
else
  header("Location: ../index.php?nick_error=1");
?>
 
Das else in Linie 72 ist falsch - steht da doch.
PHP:
        header("Location: ../index.php?angelegt=1");
       else
          header("Location: ../index.php?email_error=1");
 
Ne, ich brauche ja beide Befehle, der User der sich ameldet soll schon wissen warum es nicht geht.....

Irgendwo muss doch da der Fehler liegen, das ging doch vorher auch,...
 
Zurück