Hihiho,
schreib grad an nem registration script, den fehler erläuter ich gleich, such jetzt schon seit stunden nach dem fehler und hab probiert und probiert, aber immer wieder der gleiche fehler...
prüfen ob nicht-optionale felder ausgefüllt sind: geht
prüfen ob email addys übereinstimmen: geht
prüfen ob passwörter übereinstimmen: geht
prüfen ob username schon in der db ist: geht ab und zu
prüfen ob email schon in der db ist: geht ab und zu
aaalso, vorher hab ich das strtoupper noch ned drinne gehabt, da konnt ich nüscht eintragen, also hab ich inna phpmyadmin nen datensatz eingetragen, dann konnt ich den gleichen datensatz nochmal eintragen bloß klein geschrieben, dann ging alles wunderbar... wenn ich dann versuche nen neuen datensatz einzutragen, dann wird plötzlich alles abgehackt (die stelle ab nem bestimmten teil vom code... )
also die frage lautet, wie muss ich den quelltext genau schreiben um zu prüfen ob email oder username schon in der datenbank vorhanden sind, egal ob groß oder klein geschrieben z.b. Sandman oder sandman oder SaNdMaN
danke schonmal im vorraus, hoffe der code ist euch ned zu lang, aber ich hielt es für besser ihn "komplett" (htmlteil, funktionen nicht inbegriffen) rein zu posten...
funktionen:
filled();
connect();
agree();
schreib grad an nem registration script, den fehler erläuter ich gleich, such jetzt schon seit stunden nach dem fehler und hab probiert und probiert, aber immer wieder der gleiche fehler...
prüfen ob nicht-optionale felder ausgefüllt sind: geht
prüfen ob email addys übereinstimmen: geht
prüfen ob passwörter übereinstimmen: geht
prüfen ob username schon in der db ist: geht ab und zu
prüfen ob email schon in der db ist: geht ab und zu
aaalso, vorher hab ich das strtoupper noch ned drinne gehabt, da konnt ich nüscht eintragen, also hab ich inna phpmyadmin nen datensatz eingetragen, dann konnt ich den gleichen datensatz nochmal eintragen bloß klein geschrieben, dann ging alles wunderbar... wenn ich dann versuche nen neuen datensatz einzutragen, dann wird plötzlich alles abgehackt (die stelle ab nem bestimmten teil vom code... )
also die frage lautet, wie muss ich den quelltext genau schreiben um zu prüfen ob email oder username schon in der datenbank vorhanden sind, egal ob groß oder klein geschrieben z.b. Sandman oder sandman oder SaNdMaN
PHP-Code:
<?php
if($send == "Registrieren")
{
if(filled($username) && filled($email1) && filled($email2) && filled($pass1) && filled($pass2) == true)
{
if(agree($email1, $email2) == true)
{
if(agree($pass1, $pass2) == true)
{
// problemteil
connect();
$query = mysql_query("SELECT * FROM `ct_userdetails` WHERE `username` = '".$_POST['username']."'");
$result = mysql_fetch_array($query) OR DIE( mysql_error() );
$qry = mysql_query("SELECT * FROM `ct_userdetails` WHERE `email` = '".$email1."'");
$rslt = mysql_fetch_array($qry) OR DIE( mysql_error() );
echo strtolower($_POST['username']);
echo strtolower($result['username']);
echo strtolower($email1);
echo strtolower($rslt['email']);
if(strtolower(($_POST['username']) == strtolower($result['username'])) OR (strtolower($email1) == strtolower($rslt['email'])))
{
$Srv_msg = "Benutzer oder Email-Adresse existiert schon.";
}
elseif($result['username'] == "" AND $rslt['email'] == "")
{
if(filled($day) && filled($month) && filled($year))
{
$birthday = $day . "." . $month . "." . $year;
}
connect();
mysql_query("INSERT INTO `ct_userdetails` (`id`,
`username`,
`email`,
`passwort`,
`name`,
`beruf`,
`geburtstag`,
`wohnort`,
`bezirk`,
`plz`,
`msn`,
`icq`,
`aim`,
`yim`,
`skype`,
`beschreibung`,
`signatur`,
`reg_datum`)
VALUES ('',
'".$username."',
'".$email1."',
'".$pass1."',
'".$name."',
'".$beruf."',
'".$birthday."',
'Berlin',
'".$bezirk."',
'".$plz."',
'".$messenger_msn."',
'".$messenger_icq."',
'".$messenger_aim."',
'".$messenger_yim."',
'".$messenger_skype."',
'".$beschreibung."',
'".$signatur."',
'".timestamp()."')")
OR DIE ( mysql_error() );
$Srv_msg = "Die Registrierung war erfolgreich.";
}
}
elseif(agree($pass1, $pass2) == false)
{
$Srv_msg = "Passwörter stimmen nicht überein.";
}
}
elseif(agree($email1, $email2) == false)
{
$Srv_msg = "Email-Adressen stimmen nicht überein.";
}
}
elseif(filled($username) OR filled($email1) OR filled($email2) OR filled($pass1) OR filled($pass2) == false)
{
$Srv_msg = "Bitte fülle alle Felder aus die mit einem Stern gekennzeichnet sind.";
}
}
?>
funktionen:
filled();
connect();
agree();
Kommentar