Registrierung wird nicht in Datenbank gespeichert

Hab das jetzt soweit geändert aber er macht trotzdem noch keine einträge in die db. ich glaube in der zeile:
PHP:
$register = "INSERT INTO `spieler` (`userid`,`nick`,`email`,`known`,`pw`) VALUES (NULL, \'nic\', \'em\', \'know\', \'pw\')";

ist noch was falsch, weil die Zeile ermöglicht es ja erst das die Einträge in die Datenbank geschrieben werden.
 
Die Backslashes zum escapen der Anfuehrungsstriche sind ueberfluessig, moeglicherweise sogar ein Grund fuer den Fehler.
Was aber auch ein Problem ist ist, dass Du die oben angesprochenen Aenderungen ($_POST) dort nicht uebernommen hast. Weiterhin kannst Du das Feld userid nicht angeben und kannst Dir dann dementsprechend auch die Angabe von NULL fuer dieses Feld sparen. Ich gehe mal davon aus, dass dies ein Auto-Increment-Feld ist, richtig?
 
Ja das ist ein Auto-Increment-Feld was soll ich denn für dieses feld reinschreiben statt der NULL? leer lassen weglassen oder wie?

und die variable $_POST muss das denn so aussehen?

PHP:
$register = "INSERT INTO `spieler` (`userid`,`nick`,`email`,`known`,`pw`) VALUES (NULL, $_POST['nic'], $_POST['em'], 'know', 'pw')";
 
Zuletzt bearbeitet:
wenn ich das jetzt so eingebe:
PHP:
$register = "INSERT INTO `spieler` (`nick`,`email`,`known`,`pw`) VALUES ($_POST['nic'], $_POST['em'], 'know', 'pw')";
kommt der fehler wenn man sich registrieren will...:


Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /var/www/virtual/heerschaft.de/lw/htdocs/register.php on line 15
 
Mach das mal so:
PHP:
$register = "INSERT INTO `spieler` (`nick`,`email`,`known`,`pw`) VALUES ('".$_POST['nic']."', '".$_POST['em']."', 'know', 'pw')";
 
selbst dann macht der keine einträge in die Datenbank irgendwas is da noch falsch ich schick noch mal die beiden dateien:

regist.php:
PHP:
<?php
$title="Registrieren";
include "header.inc.php";
?>

<FORM NAME="anm" ACTION="register.php" METHOD = "POST" onSubmit="return fcheck();">
	<table align="center"><br>
		<tr>
		<td>	Nickname:</td><td><input name = "nic"></td></tr>
		<tr>
		<td>	e-Mail:</td><td><input name = "em"></td></tr>
		<tr>
		<td>	Passwort:</td><td><input name = "pw" type = "password"></td></tr>
		<tr>
		<td>	Passwort Wiederholung:</td><td><input name = "pw2" type = "password"></td></tr>
		<tr>
		<td>	Woher kennst du das Game?</td><td><input name = "known"></td></tr>
</table>
<center>
	<input type = "submit" value = "Registrieren">
	<input type = "reset" value = "Löschen">
</center>
</FORM>
<?

?>

register.php:
PHP:
<?php
$title="Registrieren";
include "header.inc.php";
?>

<?
include "mysql.inc.php";

$test = "SELECT email FROM spieler WHERE email='".$_POST['em']."'"; 
$email1 = mysql_query($test,$dz);
$test1 = "SELECT nick FROM spieler WHERE nick='".$_POST['nic']."'";
$nick1 = mysql_query($test1,$dz);
if($pw = $pw2 && $email1 > 0 && $nick1 > 0)
{
$register = "INSERT INTO `spieler` (`nick`,`email`,`known`,`pw`) VALUES ('".$_POST['nic']."', '".$_POST['em']."', 'know', 'pw')";
$end = mysql_query($register,$dz);
}
if($end)
{
echo "<body text=\"#FFF00\"><center>Erfolgreich!</center><br><center><a href=\"index.php\">Zur Startseite</a></center></body>";
}
?>
<?php
include "footer.inc.php";
?>
 
Kann es sein, dass der Code vielleicht garnicht ausgefuehrt wird?
Die IF-Konstruktion davor sieht mir sehr abenteuerlich aus.
 
Also ein Vergleich wird schonmal mit == und nicht = angestellt, dass ist Fehler 1.
Und die beiden anderen Bedingungen ueberpruefen mehr wuerden in meinen Augen nur erlauben, dass was eingetragen wird wenn es bereits einen User mit dieser Nick/eMail-Kombination gibt.
Probier das mal so:
PHP:
if (($_POST['pw']==$_POST['pw2']) && (mysql_num_rows($email1)==0) && (mysql_num_rows($nick1)==0))
 
Zurück