Finde den Fehler nicht

Status
Für weitere Antworten geschlossen.

Ballof

Registered +
Registriert
Juni 2008
Beiträge
36
Hallo, liebe Forenleser!

Ich arbeite im Moment an einer eigenen Website und möchte ein Registrierungsscript schreiben. So weit so gut, allerdings ist ein Fehler drin, den ich leider nicht finde.

Code:
"name_user", "passwort") or die('no connect
table:
'.mysql_error());if(!isset($_POST['send'])){ $aus = '
'; $aus.= '
Benutzername
Name
type="text" name="reg_name">
Nachname
Geburtsdatum(z.B. 24.01.1965)
E-Mail Adresse
name="reg_mail">
Passwort
Passwort

wiederholen
Ich

habe die AGB von inetseite.de gelesen und bin mit ihnen einverstanden.

'; $aus.=

'

'; $aus.= '

'; $aus.= '

'; $aus.=

'

'; $aus.= '

'; $aus.= '

'; $aus.= '

'; $aus.= '

'; $aus.= '
'; $aus.= '
value="bestätigen" name="send">'; $aus.= '
';}else{ $aus = '
'; $aus.= '
Benutzername fehlt

style="color:red;">Benutzername existiert bereits!
Benutzername
type="text" name="reg_nicname" value="'.$_POST['reg_nicname'].'">

style="color:red;">Vorname fehlt
Name
value="'.$_POST['reg_name'].'">
Nachnname

fehlt
Nachname
value="'.$_POST['reg_lastname'].'">
Geburtsdatum fehlt
Bitte ein gültiges Datum angeben!
Geburtsdatum(z.B. 24.01.1965)
value="'.$_POST['reg_bday'].'">
E-Mail

fehlt
Bitte eine gütige Emailadresse angeben!
Diese Emailadresse wird bereits verwendet!
E-Mail Adresse
Passwort fehlt
Passwörter stimmen nicht

überein!
Passwort
name="reg_pass" value="'.$_POST['reg_pass'].'">
Passwort wiederholen
value="'.$_POST['reg_pass_wdh'].'">
AGB wurden nicht bestätigz

name="reg_agb" value="reg_agb">Ich habe die AGB von inetseite.de gelesen und bin mit ihnen einverstanden.

';

if(empty($_POST['reg_nicname'])){ $aus.= '

'; $error = true;}

else{ $sql = "SELECT `Nickname` FROM

`name_user` WHERE `Nickname` = '".$_POST['reg_nicname']."'";

$result = mysql_query($sql); if($row = mysql_fetch_assoc($result)){ $aus.= '

'; $error = true;}; } $aus.= '

'; if(empty($_POST['reg_name'])){ $aus.= '

'; $error = true;} $aus.= '

'; if(empty($_POST['reg_lastname'])){ $aus.= '

'; $error = true;} $aus.= '

'; $aus.= '

'; $error = true;}

else{ $gb = explode('.', $_POST['reg_bday']); if(!checkdate($gb[1],$gb[0],$gb[2]) || count($gb) !== 3){

$aus.='

';

$error = true; } } $aus.= '

'; if(empty($_POST['reg_mail'])){ $aus.= '

'; $error = true;} elseif(!ereg("^.+@.+\\..+$", $_POST['reg_mail'])) { $aus.=

'

'; $error = true; }

else{ $sql = "SELECT `E-Mail` FROM

`name_user` WHERE `E-Mail` =

'".$_POST['reg_mail']."'"; $result = mysql_query($sql); if($row = mysql_fetch_assoc($result)){ $aus.=

'

'; $error = true;}; } $aus.=

'

'; if(empty($_POST['reg_pass']) ||

empty($_POST['reg_pass_wdh'])){ $aus.= '

'; $error = true;}

elseif($_POST['reg_pass'] !== $_POST['reg_pass_wdh']){ $aus.= '

'; $error = true; } $aus.= '

'; $aus.= '

'; if(empty($_POST['reg_tel'])) if(empty($_POST['reg_agb'])){ $aus.=

'

'; $error = true;} $aus.= '

'; $aus.= '
';

$aus.= ''; $aus.= '
'; if(!$error){ mysql_connect("localhost",

"name_user", "passwort") or die('noconnect'.mysql_error());

$aus = 'erfolgreich registriert!'; $timestamp = mktime(0,0,0,$gb[1],$gb[0],$gb[2]); $sql = "INSERT INTO

`name_user` SET `Nickname` = '".$_POST['reg_nicname']."' ,

`Kennwort` = '".md5($_POST['reg_pass'])."' , `Geburtsdatum` = '".$timestamp."' ,

`E-Mail` = '".$_POST['reg_mail']."' , `Nachname` = '".$_POST['reg_lastname']."' ,

`Vorname` = '".$_POST['reg_name']."' , `Aktivirung` = '".md5($_POST['reg_nicname'])."'"; $result =

mysql_query($sql) or die('could not register user:
'.mysql_error()); $empfaenger = $_POST['reg_mail']; $user =

$_POST['reg_nicname']; $upas = $_POST['reg_pass']; $sender = 'inetseite.de'; $sendermail = 'noreply@inetseite.de';

$betreff = 'Registrierung bei inetseite.de'; $text = "Lieber $user,\n\r Vielen Dank fuer die Registrierung auf

inetseite.de\n\r \n\r Ihre persoenlichen Zugansdaten:\n\r \n\r \n\r -------------------------------\n\r

Benutzername: $user \n\r Passwort: $upas \n\r -------------------------------\n\r \n\r

Der Zeit ist ihr Benutzerkonto inaktiv. Um es zu aktivieren folge bitte diesem link:\n\r

http://name.bplaced.de/Hauptseite/register.php?a=".md5($user)." \n\r Wenn du dein Passwort vergessen solltest, findest

du einen Link auf unserer Seite, mit dem du es zuruecksetzen kannst.\n\r \n\r Mit freundlichem Gruß,\n\r

inetseite.de"; mail($empfaenger,$betreff,$text,$sendermail); };}if(isset($_GET['a'])){ $sql = "UPDATE

`name_user` SET `Status` = '1' WHERE `Aktivirung` =

'".$_GET['a']."'"; $result = mysql_query($sql) or die('no activation:
'.mysql_error()); $aus = "Konto erfolgreich aktiviert!";}print $aus;?>

Fehlermeldung:
Parse error: syntax error, unexpected T_ELSE in /link.php on line 1

Außerdem finde ich nirgens was dazu, wie man einfügt, dass jemand anklicken kann, ob männlich oder weiblich und dann in der Bestätigungsmail mit "liebe" oder "lieber" angesprochen wird.
Desweiteren freue ich mich über Leute, die mit mir zusammen daran weiter arbeiten möchten und mir somit helfen können. ^^ Einfach mal melden.

Ich bedanke mich jetzt schon bei jedem, der sich die Mühe macht, das zu lesen und mir helfen kann.

Viele liebe Grüße,

Ballof
 
Zuletzt bearbeitet von einem Moderator:
Hi und OMG Oo
Gewöhne dir doch mal bitte an deinen Code sauber aufzuschreiben. Das sieht ja aus, wie hinge***ssen OO"
Aber zum Glück muss man nur aus Zeile 1 schlau werden.

Code:
empty($_SERVER['QUERY_STRING']) ? $self = $_SERVER['PHP_SELF'] : $self = $_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'];
Also du willst, wenn $_SERVER['QUERY_STRING'] leer ist $self mit $_SERVER['PHP_SELF'] belegen und sonst auch... Fällt dir etwas auf? ^^
Außerdem ist das die Syntaxvorschrift für if-else, wenn die wenn und sonst-Fälle etwas zurück geben sollen. Das brauchst du aber gar nicht.
Hier, so würde ich dein Code schreiben:
Code:
$self = $_SERVER['PHP_SELF'];
if($_SERVER['QUERY_STRING']) $self.= '?'.$_SERVER['QUERY_STRING'];

Aber wenn du es unbedingt so aufwendig haben willst, dann musst du auch die richtige if-else Syntaxvorschrift nehmen.
Code:
((empty($_SERVER['QUERY_STRING'])) ? $self = $_SERVER['PHP_SELF'] : $self = $_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING']);
Aber wie gesagt, dafür wird dich jeder Auslachen :D

Okay, es gibt eine Variante, da könntest du deine Variante sinnvoll einsetzen:
Code:
$self = $_SERVER['PHP_SELF'].((!empty($_SERVER['QUERY_STRING'])) ? '?'.$_SERVER['QUERY_STRING']:'');

Gruß
Broken Sword

P.S.
Habe mich anstatt empty für if() entschieden, weil du empty gar nicht brauchst. Siehe hier: http://www.blueshoes.org/en/developer/php_cheat_sheet/
 
Zuletzt bearbeitet von einem Moderator:
Hallo und danke erst mal ^^

Hi und OMG Oo
Gewöhne dir doch mal bitte an deinen Code sauber aufzuschreiben. Das sieht ja aus, wie hinge***ssen OO"

Wirst es mir zwar net glauben, aber es war alles toll aufgeschrieben. Danken wir an dieser Stelle mal dem Windows Editor (den werd ich sicher nicht mehr benutzen ^^)

So, jetzt zu meinem Problem. Ich habe deine Codes beide versucht, allerdings kommt dann immer noch ne Fehlermeldung.

Beim zweiten Code:
Parse error: syntax error, unexpected T_ELSE in link.php on line 3

Beim ersten Code dasselbe, allerdings in Line 2 ...

Liebe Grüße,

Ballof


**EDIT**

Immer noch, auch mit dem dritten,
Parse error: syntax error, unexpected T_ELSE in /users/ballof/www/Hauptseite/registerbroken.php on line 2
... man, das regt mich auf
 
Zuletzt bearbeitet von einem Moderator:
Habe extra für dich gerade alle 3 Varianten ausprobiert und es kam keine Fehlermeldung ;) Meine Vermutung ist, du hast das alte nicht mit meinem ersetzt, sondern es einfach davor eingefügt.

Gruß
Broken Sword
 
Doch ersetzt habe ich es eigentlich schon ...

Da fängt man mal am Freitag an PHP zu lernen und dann kotzt mich das direkt so an, einfach stressig >.<
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben Unten