[PHP & MySQL] Finde fehler nicht!

cille

Erfahrenes Mitglied
Hi ho, ich habe ein User Registrieren Script geschrieben.
Wenn er auf Registrieren klickt,
kommt er auf die Seite wo "ERFOLGREICH REGISTRIERT" steht.
Aber leider Trägt er keine Daten in meine SQL Datenbank ein und er sendet auch keine E-Mail.

Hoffe Ihr könnt anhand des Codes sehen wo der fehler liegt.
Ich habe den Fehler nicht gefunden. Habe es sogar ausgedruckt und beim Rauchen mir angeschaut. Aber leider ohne erfolg. :)

Hier mal der Code:
PHP:
<?php
if (isset($_POST['submit'])) {
		
	$fehler = false;
	$fehlertext = "";
	include("config.php");
		
	$sql = "SELECT * FROM users";
	$result = mysql_query($sql);
	$data = mysql_fetch_assoc($result);
		
	if(empty($_POST["username"])) {
		$fehler = true;
		$fehlertext .= "<b>Bitte ein Username angeben!</b>";
	} elseif($data["nick"] == $username) {
		$fehler = true;
		$fehlertext .= "<b>Username bereits vorhanden!</b>";
	}
	if(empty($_POST["pw1"])) {
		$fehler = true;
		$fehlertext .= "<b>Bitte Password eingeben!</b>";
	}
	if(empty($_POST["pw2"])) {
		$fehler = true;
		$fehlertext .= "<b>Bitte Wiederholen Sie Ihr Password!</b>";
	} elseif($_POST["pw1"] != $_POST["pw2"]) {
		$fehler = true;
		$fehlertext .= "<b>Das eingegebene Password stimmt mit der Wiederholung nicht überein!</b>";
	}		
	 $muster = "/^[a-zA-Z0-9-_.]+@[a-zA-Z0-9-_.]+\.[a-zA-Z]{2,4}$/";
	 if(empty($_POST['email'])) {
	   $fehler = true;
	   $fehlertext .= "<b>Die E-Mail-Adresse fehlt!</b><br>\n";
	 } elseif(preg_match($muster, $_POST['email']) == 0) {
	   $fehler = true;
	   $fehlertext .= "Die E-Mail Adresse ist ungültig!<br>\n";
	 }
	 if($fehler) {
	   echo "<p>$fehlertext</p>";
	 }
	 else {
		$email = $_POST["email"];
		$nick = $_POST["username"];
		$password = $_POST["pw2"];
		$national = $_POST["national"];
		
		$insert = "INSERT INTO users VALUES ('', '".$email."', '".md5($password)."', '".$nick."', '', '', '', '', '', '".$national."')";
		mysql_query($insert);
		
		$mailbody = "Registrierung bei ***\n";
		$mailbody .= "-----------------------------------";
		$mailbody .= "Wir danken Ihnen, dass Sie sich bei uns Registriert haben.\n";
		$mailbody .= "Wir wünschen Ihnen eine schöne Zeit bei uns und würden uns freuen,\n";
		$mailbody .= "wenn Sie unser Forum nutzen.\n\n";
		$mailbody .= "-----------------------------------\n";
		$mailbody .= "Ihre Zugangsdaten: ";
		$mailbody .= "-----------------------------------\n";
		$mailbody .= "Username: $nick \n";
		$mailbody .= "Password: $password \n";
		$mailbody .= "-----------------------------------\n";
		$mailbody .= "Mit freundlichen Grüßen, \n";
		$mailbody .= "**** \n\n\n";
		$mailbody .= "www.****.net";
		
		$mailbody = stripslashes($mailbody);
		
		$to = "From: $email";
		$from = "registrierung@****.net";
		$betreff = "**** (Registrierung!)";
		
		mail($to, $betreff, $mailbody, $to);
		
		header ("Location: index.php?main=accept&id=1");
	}
}
?>

Würde mich auf jede Hilfe freuen.

mfg,
cille

[EDIT]
Habe jetzt hingekrigt,
dass die E-Mail mit den Userdaten versendet wird, aber der neue User wird nicht eingetragen:

Hier der Code, es kann nur am unteren Teil Liegen, dass es nicht gespeichert wird, also nur der unter Code HIER:
PHP:
		$email = $_POST["email"];
		$nick = $_POST["username"];
		$password = $_POST["pw2"];
		$national = $_POST["national"];
		
		
	
		$mailbody = "Registrierung bei Plugin Gamining\n";
		$mailbody .= "-----------------------------------";
		$mailbody .= "Wir danken Ihnen, dass Sie sich bei uns Registriert haben.\n";
		$mailbody .= "Wir wünschen Ihnen eine schöne Zeit bei uns und würden uns freuen,\n";
		$mailbody .= "wenn Sie unser Forum nutzen.\n\n";
		$mailbody .= "-----------------------------------\n";
		$mailbody .= "Ihre Zugangsdaten: ";
		$mailbody .= "-----------------------------------\n";
		$mailbody .= "Username: $nick \n";
		$mailbody .= "Password: $password \n";
		$mailbody .= "-----------------------------------\n";
		$mailbody .= "Mit freundlichen Grüßen, \n";
		$mailbody .= "Plugin Gaming \n\n\n";
		$mailbody .= "www.plugin-gaming.net";
		
		$mailbody = stripslashes($mailbody);
		
		$from = "registrierung@plugin-gaming.net";
		$betreff = "Plugin Gaming (Registrierung!)";
		
		if (mail($email, $betreff, $mailbody, "From $from")) {
			$insert = "INSERT INTO users VALUES ('', '".$email."', '".md5($password)."', '".$nick."')";
			mysql_query($insert);
			echo "Erfolgreich";
			// header ("Location: index.php?main=accept&id=1");
		} else {
			echo "Fehler";
		}


//edit

Habe fehler gefunden.
Ich dussel habe keine INSERT spefikation angegeben ^^.

mfg,
cille
 
Probiere mal:

PHP:
$insert = "INSERT INTO users VALUES ('', '$email', 'md5($password)', '$nick')";


Wenn nicht lass dir mal den MySQL Fehler ausgeben:

PHP:
 mysql_query($insert) or die(mysql_error());
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück