Eintragung in Db nicht

Grunge

Erfahrenes Mitglied
Hi...Ich wollte durch ein Anmeldescript user in die DB eintragen. nun habe ich überprüft ob der username und/oder die mail schon vergeben ist - ansonsten sollte doch bitte anbegrbochen werde. leide rbricht der blödmann ;) immer ab...hier der code:

(DB DATEN wurden aufgrund eines drei spalten layouts schon included in einer anderen datei.....wirft außerdem keine db fehler aus)

(DATEN KOMMEN AUS EINEM FORMULAR)
Code:
<?php
echo "<br><br><br>";



?>
<html>
<table width="100%" border="1" cellspacing="0" bordercolor="#000000" bgcolor="#FFFFFF">
<tr>
<td bordercolor="#000000" bgcolor="#3399CC"><div align="left">::Registrierung erfolgreich </div></td>
</tr>
</table><br>
<table width="100%" border="1" cellspacing="0" bordercolor="#000000" bgcolor="#FFFFFF">
<tr>
<td bordercolor="#000000" bgcolor="#FFFFFF"><div align="center">
  
<?

	//EINGABEN NACHPRÜFEN
	if(trim($_POST['vorname']) == "") {
	     die("<b>Bitte geben sie einen Vornamen ein</b>");   
		  }   
	 if(trim($_POST['name']) == "") { 
	        die("<b>Bitte geben sie einen Nachnamen ein</b>"); 
			   }
			 if(trim($_POST['straße']) == "") { 
	        die("<b>Bitte geben sie eine Straße ein ein</b>"); 
			   }
			    if(trim($_POST['plz']) == "") { 
	        die("<b>Bitte geben sie eine Postleitzahl ein</b>"); 
			   }
			       if(trim($_POST['ort']) == "") { 
	        die("<b>Bitte geben sie einen Ort ein</b>"); 
			   }
			         if(trim($_POST['email']) == "") { 
	        die("<b>Bitte geben sie eine E-Mail Adresse ein</b>"); 
			   }
			         if(trim($_POST['tele']) == "") { 
	        die("<b>Bitte geben sie eine Telefonnummer ein</b>"); 
			   }
			   if(trim($_POST['user']) == "") { 
	        die("<b>Bitte geben sie einen Usernamen ein</b>"); 
			   }
			   if(trim($_POST['pwd']) == "") { 
	        die("<b>Bitte geben sie ein Passwort ein</b>"); 
			   }
			   if(trim($_POST['pwd2']) == "") { 
	        die("<b>Bitte wiederholen sie ihr Passwort</b>"); 
			   }
			   $sql5 ="Select username FROM customers WHERE (username like '".$_REQUEST["user"]."')";
			   $sql4="SELECT email FROM customers WHERE (email like '".$_REQUEST["email"]."')";
			   $correct2=mysql_query($sql4) or die (mysql_error());
			   $correct=mysql_query($sql5) or die (mysql_error());
			   if ($correct=="" AND $correct2==""	AND (trim($_POST['pwd']) == trim($_POST['pwd2']))		   ){
			  
			   
			   
			  $sql2 = "SELECT 
			                 lastkd      
							 FROM
							 Allgemeines";    
							 $result = mysql_query($sql2) OR die(mysql_error());
			   while($row = mysql_fetch_assoc($result)) 
			   {   
			   $kdnr=($row['lastkd'])+1;     
			    
			   }
			   
			   
				   
				   
			   $sql="INSERT INTO customers ( kdnr,
			   								 username,
											 passwort,
			   								 reg, 
											 vorname,
											 nachname,
											 plz,
											 ort,
											 strasse,
											 tele,
											 handy,
											 email,
											 hp,
											 geburtstag  ) 
							VALUES (
											'".htmlspecialchars($kdnr)."',
											'".htmlspecialchars($_POST['user'])."',
											'".htmlspecialchars(md5($_POST['pwd']))."',
			   		        				NOW(),
										    '".htmlspecialchars($_POST['vorname'])."',
										    '".htmlspecialchars($_POST['name'])."', 
											'".htmlspecialchars($_POST['plz'])."', 
											'".htmlspecialchars($_POST['ort'])."', 
											'".htmlspecialchars($_POST['straße'])."', 
											'".htmlspecialchars($_POST['tele'])."', 
											'".htmlspecialchars($_POST['handy'])."', 
											'".htmlspecialchars($_POST['email'])."', 
											'".htmlspecialchars($_POST['hp'])."', 
											'".htmlspecialchars($_POST['geb'])."')";
			    
			  mysql_query($sql) OR die(mysql_error());
			  $sql3="UPDATE
    Allgemeines
SET
    lastkd = '$kdnr'";
  

			  mysql_query($sql3) OR die(mysql_error());
			     echo "Vielen Dank!<br><br>Ihre Registrierung bei Wolf Tec. Multimedia war erfolgreich. Bitte loggen sie sich ein um ihre Vorteile nutzen zu k&ouml;nnen.";

	 }else{
			   		if($correct>0){
				   die("<b>Der Username '".$_POST['user']."' ist bereits vergeben. Wählen sie einen anderen!</b>");
			   		}
			  		 if($correct2>0){
				   die("<b>Ein anderer Kunde hat sich bereits mit der E-Mail Adresse '".$_POST['email']."' angemeldet. Wähen sie eine andere bitte</b>");
			  		 }
			  		 		

	
	  
}
			  //die("<b>Ihre Passwörter stimmen nicht überein!</b>");}
			   ?></table></div></td>
</tr>
 
Ersetze diese Zeile:

PHP:
if ($correct=="" AND $correct2==""	AND (trim($_POST['pwd']) == trim($_POST['pwd2']))		   ){
mit dieser hier:

PHP:
if ( mysql_fetch_array($correct) == 0 AND mysql_fetch_array($correct2) == 0	AND (trim($_POST['pwd']) == trim($_POST['pwd2']))		   ){
Denn bei mir gibt ein mysql_query immer was anderes als einen Leerstring "" zurück. ;)

mfG,
MAN
 
Also: Ich habe alles geändert und die db geleert. die erste eintragung war okay und ohne fehler, doch als ich einen anderen account anlegen wollte kam der gleiche fehler der name sei vergeben (obwohl er nicht vergeben ist)
 
Dann schau dir noch folgende Zeilen an:

PHP:
if($correct>0){
   die("<b>Der Username '".$_POST['user']."' ist bereits vergeben. Wählen sie einen anderen!</b>");
}

if($correct2>0){
   die("<b>Ein anderer Kunde hat sich bereits mit der E-Mail Adresse '".$_POST['email']."' angemeldet. Wähen sie eine andere bitte</b>");
}

=> gleiches Problem :)
 
Code:
		if(mysql_fetch_array($correct) == 0){
				   die("<b>Der Username '".$_POST['user']."' ist bereits vergeben. Wählen sie einen anderen!</b>");
			   		}
			  		 if(mysql_fetch_array($correct) == 0){
				   die("<b>Ein anderer Kunde hat sich bereits mit der E-Mail Adresse '".$_POST['email']."' angemeldet. Wähen sie eine andere bitte</b>");
			  		 }
habs geändeert - problem besteht weiterhin 1!?
 
Uuuuuups.... jetzt hab ich dir ein schei** erzählt.....

Wollte eigentlich mysql_num_rows statt mysql_fetch_array sagen... :-(

Sprich, du ersetzt jetzt noch die 4x mysql_fetch_array mit 4x mysql_num_rows...

Zum zweiten Fehler:

PHP:
if(mysql_num_rows($correct) != 0){
   die("<b>Der Username '".$_POST['user']."' ist bereits vergeben. Wählen sie einen anderen!</b>");
}

if(mysql_num_rows($correct) != 0){
   die("<b>Ein anderer Kunde hat sich bereits mit der E-Mail Adresse '".$_POST['email']."' angemeldet. Wähen sie eine andere bitte</b>");
}

Sorry nochmal, hab ich wohl nicht das geschrieben, was ich im Kopf hatte ;)
 
mh nun sagt er mir das die pwd's net übereinstimmen (ganz unten im code).. hier nochmal die komplette page: danke schonma für deine hilfe...ich geh mich kurz umziehen und nen mitternachtsimbiss vorbereiten denn das dauert hier ja alles noch =)DANKE!! ECHT!

PHP:
<?php
echo "<br><br><br>";



?>
<html>
<table width="100%" border="1" cellspacing="0" bordercolor="#000000" bgcolor="#FFFFFF">
<tr>
<td bordercolor="#000000" bgcolor="#3399CC"><div align="left">::Registrierung erfolgreich </div></td>
</tr>
</table><br>
<table width="100%" border="1" cellspacing="0" bordercolor="#000000" bgcolor="#FFFFFF">
<tr>
<td bordercolor="#000000" bgcolor="#FFFFFF"><div align="center">
  
<?

	//EINGABEN NACHPRÜFEN
	if(trim($_POST['vorname']) == "") {
	     die("<b>Bitte geben sie einen Vornamen ein</b>");   
		  }   
	 if(trim($_POST['name']) == "") { 
	        die("<b>Bitte geben sie einen Nachnamen ein</b>"); 
			   }
			 if(trim($_POST['straße']) == "") { 
	        die("<b>Bitte geben sie eine Straße ein ein</b>"); 
			   }
			    if(trim($_POST['plz']) == "") { 
	        die("<b>Bitte geben sie eine Postleitzahl ein</b>"); 
			   }
			       if(trim($_POST['ort']) == "") { 
	        die("<b>Bitte geben sie einen Ort ein</b>"); 
			   }
			         if(trim($_POST['email']) == "") { 
	        die("<b>Bitte geben sie eine E-Mail Adresse ein</b>"); 
			   }
			         if(trim($_POST['tele']) == "") { 
	        die("<b>Bitte geben sie eine Telefonnummer ein</b>"); 
			   }
			   if(trim($_POST['user']) == "") { 
	        die("<b>Bitte geben sie einen Usernamen ein</b>"); 
			   }
			   if(trim($_POST['pwd']) == "") { 
	        die("<b>Bitte geben sie ein Passwort ein</b>"); 
			   }
			   if(trim($_POST['pwd2']) == "") { 
	        die("<b>Bitte wiederholen sie ihr Passwort</b>"); 
			   }
			   $sql5 ="Select username FROM customers WHERE (username like '".$_REQUEST["user"]."')";
			   $sql4="SELECT email FROM customers WHERE (email like '".$_REQUEST["email"]."')";
			   $correct2=mysql_query($sql4) or die (mysql_error());
			   $correct=mysql_query($sql5) or die (mysql_error());
			   if ( mysql_num_rows($correct) == 0 AND mysql_num_rows($correct2) == 0    AND (trim($_POST['pwd']) == trim($_POST['pwd2']))           ){
			  
			   
			   
			  $sql2 = "SELECT 
			                 lastkd      
							 FROM
							 Allgemeines";    
							 $result = mysql_query($sql2) OR die(mysql_error());
			   while($row = mysql_fetch_assoc($result)) 
			   {   
			   $kdnr=($row['lastkd'])+1;     
			    
			   }
			   
			   
				   
				   
			   $sql="INSERT INTO customers ( kdnr,
			   								 username,
											 passwort,
			   								 reg, 
											 vorname,
											 nachname,
											 plz,
											 ort,
											 strasse,
											 tele,
											 handy,
											 email,
											 hp,
											 geburtstag  ) 
							VALUES (
											'".htmlspecialchars($kdnr)."',
											'".htmlspecialchars($_POST['user'])."',
											'".htmlspecialchars(md5($_POST['pwd']))."',
			   		        				NOW(),
										    '".htmlspecialchars($_POST['vorname'])."',
										    '".htmlspecialchars($_POST['name'])."', 
											'".htmlspecialchars($_POST['plz'])."', 
											'".htmlspecialchars($_POST['ort'])."', 
											'".htmlspecialchars($_POST['straße'])."', 
											'".htmlspecialchars($_POST['tele'])."', 
											'".htmlspecialchars($_POST['handy'])."', 
											'".htmlspecialchars($_POST['email'])."', 
											'".htmlspecialchars($_POST['hp'])."', 
											'".htmlspecialchars($_POST['geb'])."')";
			    
			  mysql_query($sql) OR die(mysql_error());
			  $sql3="UPDATE
    Allgemeines
SET
    lastkd = '$kdnr'";
  

			  mysql_query($sql3) OR die(mysql_error());
			     echo "Vielen Dank!<br><br>Ihre Registrierung bei Wolf Tec. Multimedia war erfolgreich. Bitte loggen sie sich ein um ihre Vorteile nutzen zu k&ouml;nnen.";

	 }else{
			   		if(mysql_num_rows($correct) != 0){
				   die("<b>Der Username '".$_POST['user']."' ist bereits vergeben. Wählen sie einen anderen!</b>");
			   		}
			  		 if(mysql_num_rows($correct) != 0){
				   die("<b>Ein anderer Kunde hat sich bereits mit der E-Mail Adresse '".$_POST['email']."' angemeldet. Wähen sie eine andere bitte</b>");
			  		 }
			  		 		

	
	  
}
			  die("<b>Ihre Passwörter stimmen nicht überein!</b>");}
			   ?></table></div></td>
</tr>
 
Wie wäre es mit folgendem (bei deinem Code weiß man ja gar nicht, wo da die Klammern anfangen und welche zu welcher gehört ^^):
PHP:
if( trim( $_POST['pwd'] ) != trim( $_POST['pwd2'] ) )
{
   die( "<b>Ihre Passwörter stimmen nicht überein!</b>" );
}

mfG,
MAN

P.S.: die Hilfe ist kein Problem, währenddessen wartete ich auf Hilfe für mich bei ner andren Frage mit PHP ^^
 
MAN hat gesagt.:
P.S.: die Hilfe ist kein Problem, währenddessen wartete ich auf Hilfe für mich bei ner andren Frage mit PHP ^^

Ich glaub ich weiß, was du meinst :D

Naja irgendwie werde ich aus dem Script nicht so recht schlau.
Könnte man doch sicher unumständlicher machen?
Ich hab sowas schon in 1/2 Zeilen Code gepackt *kratz*
 
ich bin ja noch halber anfänger ;)
trotzdem gehts noch nicht MAN - ich habe nun eine leere seite und kei eintrag in die DB =(((((
 
Zurück