Registrierung wird nicht in Datenbank gespeichert

datenbank verbindet er... muss ein problem sein in den beiden codes... hier nochmal die html seite und die php seite:


html seite:
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>
<?

?>

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

<?
include "mysql.inc.php";

$test = "SELECT email FROM spieler WHERE 'em'=email";
$email1 = mysql_query($test,$dz);
$test1 = "SELECT nick FROM spieler WHERE 'nic'=nick";
$nick1 = mysql_query($test1,$dz);

if($pw = $pw2 && $email1 > 0 && $nick1 > 0)
{
$register = "INSERT INTO spieler (userid,nick,email,known,pw) VALUES ('$userid','$nic','$em','$known','$pw')";
$end = mysql_query($register,$dz);
if($end)
{
echo "<body text=\"#FFF00\">Erfolgreich!<br><a href=\"index.php\">Zur Startseite</a></body>";
}
?>

<?php
include "footer.inc.php";
?>
 
probier mal das hier:
Code:
<?php 
$title="Registrieren"; 
include "header.inc.php"; 
?> 

<? 
include "mysql.inc.php"; 

//$test = "SELECT email FROM spieler WHERE 'em'=email"; 
//$email1 = mysql_query($test,$dz); 
//$test1 = "SELECT nick FROM spieler WHERE 'nic'=nick"; 
//$nick1 = mysql_query($test1,$dz); 

//if($pw = $pw2 && $email1 > 0 && $nick1 > 0) 
//{ 
$register = "INSERT INTO spieler (userid,nick,email,known,pw) VALUES ('$userid','$nic','$em','$known','$pw')"; 
$end = mysql_query($register,$dz); 
//if($end) 
//{ 
//echo "<body text=\"#FFF00\">Erfolgreich!<br><a href=\"index.php\">Zur Startseite</a></body>"; 
//} 
?> 

<?php 
include "footer.inc.php"; 
?>
wenn das nicht geht dann das hier:
Code:
<?php 
$title="Registrieren"; 
include "header.inc.php"; 
?> 

<? 
include "mysql.inc.php"; 

//$test = "SELECT email FROM spieler WHERE 'em'=email"; 
//$email1 = mysql_query($test,$dz); 
//$test1 = "SELECT nick FROM spieler WHERE 'nic'=nick"; 
//$nick1 = mysql_query($test1,$dz); 

//if($pw = $pw2 && $email1 > 0 && $nick1 > 0) 
//{ 
$register = "INSERT INTO spieler VALUES ('$userid','$nic','$em','$known','$pw')"; 
$end = mysql_query($register,$dz); 
//if($end) 
//{ 
//echo "<body text=\"#FFF00\">Erfolgreich!<br><a href=\"index.php\">Zur Startseite</a></body>"; 
//} 
?> 

<?php 
include "footer.inc.php"; 
?>
 
Kipperlenny hat gesagt.:
.....wegen dem punkt 15 - sorry, aber gegen das klein und großschreiben im internet wehre ich mich mit voller absicht und ganz stark *g*.....
Eigentlich meinte ich den Threadersteller.
Aber auch für Dich gilt die Netiquette..... egal ob sie Dir passt oder nicht. ;)
Es würde mich ehrlich gesagt nicht wundern wenn Du für die von Dir gerade zu tage gelegte Ignoranz (siehe Zitat) verwarnt wirst.
Hier wird auf eine zumindest einigermassen akzeptable Rechtschreibung grossen Wert gelegt.
 
Kipperlenny hat gesagt.:
sorry, aber gegen das klein und großschreiben im internet wehre ich mich mit voller absicht und ganz stark *g*
Wenn Du Dich nicht an die Regeln halten willst dann hast Du hier nichts verloren.
Also nochmal die Bitte dass Ihr Euch an Gross- und Kleinschreibung haltet.
 
Also wer hat denn dieses PHP Script geschrieben, irgendwie ist das ein völliger Unsinn teilweise für mich.

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

//$test = "SELECT email FROM spieler WHERE 'em'=email";
$test = "SELECT email FROM spieler WHERE em='".email."'";

/*ist email eine Konstante  ? Konstanten werden in der regel
gross geschrieben das gleiche für nick etwas weiter unten ansonsten Abfragen 
für Strings immer in Anführungszeichen setzen da es sich um keinen Integer 
oder Double Wert handelt*/

$email1 = mysql_query($test,$dz); 
//$test1 = "SELECT nick FROM spieler WHERE 'nic'=nick"; 
$test1 = "SELECT nick FROM spieler WHERE nic='".nick."'";
$nick1 = mysql_query($test1,$dz); 

if($pw = $pw2 && $email1 > 0 && $nick1 > 0) 

/*$pw = $pw2 nun hat $pw den Wert von $pw2 war dieses so
beabsichtigt oder sollte da eine Überprüfung stattfinden ob sie gleich sind ? 
$email > 0 && $nick1 > 0 ich da beides mysql stream Results sind sind natürlich beide > 0. 
Was wohl beabsichtigt war war ist mysql_num_rows($email) > 0 && mysql_num_rows($nick1) > 0

*/
{ 
$register = "INSERT INTO spieler (userid,nick,email,known,pw) VALUES ('$userid','$nic','$em','$known','$pw')"; 
$end = mysql_query($register,$dz); 
if($end) 
{ 
echo "<body text=\"#FFF00\">Erfolgreich!<br><a href=\"index.php\">Zur Startseite</a></body>"; 
} 
?> 
 
<?php 
include "footer.inc.php"; 
?>

Des weiteren solltest du Dir Gedanken machen wo diese Variablen für $pw und $pw2 herkommen noch. So wie ich es eben sehe hast Du Register Globals auf on und greifst direkt auf die Variablen zu.Richtig wäre hier hingegen doch $_POST['pw'] bzw $_POST['pw2'] zu benutzen.
 
Zuletzt bearbeitet:
Ich frag mich auch ein wenig wo die Konstanten email und nick herkommen.
Weiterhin ist sieht mir das ganze auch stark register_globals=off-anfaellig aus.
 
also leute hab nochmal weiter überlegt vielleicht sieht es jetzt etwas klarer aus:

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

<?
include "mysql.inc.php";

$test = "SELECT email FROM spieler WHERE 'em'=email";
$email1 = mysql_query($test,$dz);
$test1 = "SELECT nick FROM spieler WHERE 'nic'=nick";
$nick1 = mysql_query($test1,$dz);
if($pw = $pw2 && $email1 > 0 && $nick1 > 0)
{
$register = "INSERT INTO `spieler` (`userid`,`nick`,`email`,`known`,`pw`) VALUES (NULL, \'nic\', \'em\', \'know\', \'pw\')";
$end = mysql_query($register,$dz);
}
if($end)
{
echo "<body text=\"#FFF00\">Erfolgreich!<br><a href=\"index.php\">Zur Startseite</a></body>";
}
?>
<?php
include "footer.inc.php";
?>

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>
<?

?>

Vielleicht könnt ihr mir ja so etwas weiter helfen ich muss die Sachen die man eingibt wie Nickname,E-mail adresse und Passwort von regist.php in die Zeile: $register = "INSERT INTO `spieler` (`userid`,`nick`,`email`,`known`,`pw`) VALUES (NULL, \'nic\', \'em\', \'know\', \'pw\')"; bei register.php so eintragen das die db die angaben speichert.

Danke im Vorraus

Delta-787
 
Also zum einen gehoert ein $ vor Variablennamen, also z.B. aus em mach $em.
Das ist dann aber auch nicht wirklich das Gelbe vom Ei, denn so kannst Du recht leicht in die gute, alte register_globals-Falle laufen.
Dementsprechend solltest Du die uebergebenen Werte aus dem Array $_POST holen, also z.B. aus em mach $_POST['em'].
 
Also soll ich bei register.php:

PHP:
$test = "SELECT email FROM spieler WHERE $_POST['em']=email";


so machen oder wie meinst du das?
 
Ja, so ungefaehr. Und natuerlich das gleiche auch fuer die anderen Werte die Du vom Formular bekommst.
Du Zeile die Du grad gepostet hast wuerde ich so aufbauen:
PHP:
$test = "SELECT email FROM spieler WHERE email='".$_POST['em']."'";
 
Zurück