Insert Into Fehlerhaft

mzeem

Erfahrenes Mitglied
Hallo Leute ich habe ein Problem bei meiner Registration!

Ab und zu kommt es vor, dass sich beim registrieren ein leerer User mit registriert!
Ich hänge jetzt schon sehr lange an dieser Sache! Und ich komme nicht weiter! :confused:

Vielleicht erkennt Ihr die Ursache!

PHP:
<?php
echo'<p class="headline2"><strong>Werde MITGLIED</strong><br /></p>';

//PASSWORTGENERIERUNG
srand(time());
$randzahl = rand();
$randstring = md5($name . $randzahl);
$passwort = substr($randstring,0,8);
//PASSWORTGENERIERUNG ENDE

if(!$ref)
{
	$setusertodb = "INSERT INTO `datenbanktabelle` SET `v_name` = '".$v_name."', 
	`n_name` = '".$n_name."',
	`name` = '".$nick_name."',
	`strasse` = '".$strasse."',
	`plz` = '".$plz."',
	`ort` = '".$ort."',
	`land` = '".$land."',
	`email` = '".$email."',
	`geb` = '".$geb."',
	`passwort` = '".$passwort."',
	`f_stand` = '".$f_stand."',
	`musik` = '".$musik."',
	`film` = '".$film."',
	`a_beschaf` = '".$a_beschaf."',
	`l_beschaf` = '".$l_beschaf."',
	`wunsch` = '".$wunsch."',
	`interessen` = '".$interessen."',
	`l_essen` = '".$l_essen."',
	`kotz` = '".$kotz."',
	`urlaub` = '".$urlaub."',
	`u_fahrt` = '".$u_fahrt."',
	`hierher` = '".$hierher."',
	`meinung` = '".$meinung."',
	`gut` = '".$gut."',
	`zeit` = NOW(),
	`geschlecht` = '".$geschlecht."';";


	$result_setusertodb = mysql_query($setusertodb);
}
else
{
	$setusertodb = "INSERT INTO `datenbanktabelle` SET `v_name` = '".$v_name."', 
	`n_name` = '".$n_name."',
	`name` = '".$nick_name."',
	`strasse` = '".$strasse."',
	`plz` = '".$plz."',
	`ort` = '".$ort."',
	`land` = '".$land."',
	`email` = '".$email."',
	`geb` = '".$geb."',
	`passwort` = '".$passwort."',
	`f_stand` = '".$f_stand."',
	`musik` = '".$musik."',
	`film` = '".$film."',
	`a_beschaf` = '".$a_beschaf."',
	`l_beschaf` = '".$l_beschaf."',
	`wunsch` = '".$wunsch."',
	`interessen` = '".$interessen."',
	`l_essen` = '".$l_essen."',
	`kotz` = '".$kotz."',
	`urlaub` = '".$urlaub."',
	`u_fahrt` = '".$u_fahrt."',
	`hierher` = '".$hierher."',
	`meinung` = '".$meinung."',
	`gut` = '".$gut."',
	`ref` = '".$ref."',
	`zeit` = NOW(),
	`geschlecht` = '".$geschlecht."';";


	$result_setusertodb = mysql_query($setusertodb);	
}
$datum = date('d.m.Y');
$zeit  = date('H:i:s');

//USER SEND MAIL
@mail("email@email.de","[HOMEPAGE] Neue Anmeldung.",
"Es liegt eine neue Anmeldung eines Users auf HOMEPAGE.de vor:
--------------------------------------------------------
Vorname:	$v_name
Nachname:	$n_name
Nick:		$nick_name
Email:		$email
Datum:		$datum
Zeit:		$zeit
--------------------------------------------------------
$v_name ( $nick_name ) $n_name  wurde in der Datenbank gespeichert.",
"From: HOMEPAGE  <email@email.de>");

@mail("$email","[HOMEPAGE] Zugangsdaten für HOMEPAGE.de",
"Herzlich Willkommen bei uns auf HOMEPAGE.de

--------------------------------------------------------
Deine Logindaten:

Nickname: $nick_name
Passwort: $passwort
--------------------------------------------------------


Dein Account sollte direkt freigeschaltet sein.
Wenn nicht! Einfach per eMail Anfragen!
Bitte ändere Dein Passwort bei Deinem ersten Login.
Einloggen kannst Du dich unter folgendem Link!

[LOGIN]

--------------------------------------------------------

Sollte diese Anmeldung ohne Deine Zustimmung vorgenommen 
worden sein, bitten wir Dich diesen Umstand sofort 
mitzuteilen. Antworten Sie einfach auf diese eMail.

Wir freuen uns, dass Du Dich bei uns angemeldet hast.

--------------------------------------------------------",
"From: HOMEPAGE.de <email@email.de>");

//USER SEND MAIL ENDE
?>


<table width="100%" border="0">
	<tr>
		<td><p>Deine <b>Anmeldung ist abgeschlossen</b>:</p></td>
	</tr>
</table>
<br />
<table border="0" cellspacing="0" cellpadding="0" align="center">
	<tr>
		<td>
			<table border="0" cellspacing="0" cellpadding="0" align="center">
				<tr>
					<td><p><strong><?php echo "$nick_name"; ?>, Dir wurde per Email dein Passwort zugeschickt. Viel Spaß!</strong></p></td>
				</tr>
			</table>

		</td>
	</tr>
</table>
<meta http-equiv="refresh" content="2; url=?include=&cubemembers=login">

<?php

//INHALT ENDE
echo'<br /><p class="headline2">&nbsp;</p>';
?>
 
Also ich kann momentan auf den ersten Blick nichts erkennen, kann das sein, das du "name" in der Datenbank anders zu stehen hast?

Es wäre ausserdem noch sinnvoll, das du uns mal auch den restlichen Code inkl der zu sehenden Variablen postest.
 
Du solltest nur bei POST-Anfragen einen neuen Datensatz anfügen, also nur wenn das Formular abgeschickt wurde.
 
Also ich bin der Meinung es wird so erledigt! In der vorherigen Datei sind alle INPUTS zum Eintragen der Angaben und dann geht es zur set_user.php die ich oben angegeben habe per:
PHP:
<form action=\"?include=$include&cubemembers=set_user&ref=$ref\" method=\"post\" name=\"Anmelden\" enctype=\"multipart/form-data\">
 
Holla @mzeem

Gumbo meinte glaub ich, dass bei jedem Aufruf dieses Scripts etwas in die DB eingetragen wird.
Du solltest die Daten zuerst überprüfen bzw. um das ganze ein
PHP:
if(isset($_POST['submitButton']))
 {

 }

machen um es wirklich nur ein zu tragen, wenn der Submit Button gedrückt wurde.
Nachdem man hier wirklich wenig sieht, kann man aber auch wenig sagen.

Wo kommen denn die Variablen $name und $straße ... her ?
Versuchs mal mit $_POST['name'], $_POST['straße'], ...


Grüße SimonErich
 
submitButton = name des Button?

Also wenn der Button so aussieht:
PHP:
 <input type="image" src="next.gif" value="submit3" name="submit3" style="border:0px;">

muss es dort so:

PHP:
if(isset($_POST['submit3']))
 {

 }

...aussehen?

oder der name des <FORM>?
 
Zurück