|
|||
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING o
Hi
Hab nen problem mit meinem php-code und kann den fehler net finden. So bekomme volgende velermeldung : Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in... Hier ist der codeabschnitt: $_REQUEST['Email'] = mysql_real_escape_string($_REQUEST['Email']); $_REQUEST['Password'] = mysql_real_escape_string($_REQUEST['Password']); $_REQUEST['Password2'] = mysql_real_escape_string($_REQUEST['Password2']); $passwordcount = strlen($_REQUEST['Password']); # Eingaben überprüfen $ueberpruefung = mysql_query("SELECT EMail FROM Aktivierung WHERE EMail == '".$_REQUEST['Email']."'") or die(mysql_error()); if($_REQUEST['Password'] != $_REQUEST['Password2'] OR $_REQUEST['Password'] == "" OR $passwordcount < 4 OR !ereg("^.+@.+\\..+$", $_REQUEST['EMail']) OR mysql_num_rows($ueberpruefung) == 1 OR $ueberpruefung > 1 ) Danke schon ma im voraus. |
Sponsored Links |
|
|||
oh ok so besser beim rot makirtem text soll der fehler liegen.
Code:
<html> <head> <title>Registrierung mit Hilfe einer Aktivierungsmail</title> </head> <body> <?php # Variablen zuweisen $DatabaseHost = "localhost"; $DatabaseUser = "123phplernen"; $DatabasePassword = "zwerghamstersql"; $Database = "123phplernen"; $TableAktivierung = "Aktivierung"; $Absender = "ansgar.westphal@gmx.de"; if($_REQUEST['Send']) { # Mit MYSQL-Datenbank verbinden $DatabasePointer = mysql_connect($DatabaseHost, $DatabaseUser, $DatabasePassword); mysql_select_db($Database, $DatabasePointer); # $_REQUEST vorbereiten (maskieren) / weitere variablen zuweisen //$_REQUEST ist ein array mit dem man $_GET und $_POST abrufen kann. //mysql_real_escape_string maskiert in diesm fall $_REQUEST so dass es für eine normale variable (bzw. einen normalen array) gehalten wird. //dies wird benötigt damit mysql_query $_REQUEST abrufen kann. $_REQUEST['Email'] = mysql_real_escape_string($_REQUEST['Email']); $_REQUEST['Password'] = mysql_real_escape_string($_REQUEST['Password']); $_REQUEST['Password2'] = mysql_real_escape_string($_REQUEST['Password2']); $passwordcount = strlen($_REQUEST['Password']); # Eingaben überprüfen $ueberpruefung = mysql_query("SELECT EMail FROM Aktivierung WHERE EMail == '".$_REQUEST['Email']."'") or die(mysql_error()); if($_REQUEST['Password'] != $_REQUEST['Password2'] OR $_REQUEST['Password'] == "" OR $passwordcount < 4 OR !ereg("^.+@.+\\..+$", $_REQUEST['EMail']) OR mysql_num_rows($ueberpruefung) == 1 OR $ueberpruefung > 1 ) { if($_REQUEST['Password'] != $_REQUEST['Password2']) { echo "Ihre Passwordeingaben stimmen nicht überein! <br>"; } if($_REQUEST['username'] == "") { echo "Sie haben keinen username eingegeben! <br>"; } if($_REQUEST['Password'] == "") { echo "Sie haben kein Password eingegeben! <br>"; } if($passwordcount < 4) { echo "Ihr Password ist zu kurz (sie benötigen 4-16 Ziffern/Buchstaben)! <br>"; } if(!ereg("^.+@.+\\..+$", $_REQUEST['EMail'])) { echo "Die eingegebene Emailadresse ist nicht korrekt! <br>"; } if(mysql_num_rows($ueberpruefung) == 1 OR $ueberpruefung > 1) { echo "email-adresse schon vergeben"; } # Neue Eingabefelder $submit = '<form action="'.$_SERVER['PHP_SELF'].'" method="post">'."\n". 'e-mail: <br> <input maxlength="40" name="EMail" type="text"><br><br>'."\n". 'Password: <br> <input maxlength="16" name="Password" type="Password"><br><br>'."\n". 'Password wiederholung: <br> <input maxlength="16" name="Password2" type="Password"><br>'."\n". '<input name="Send" type="submit" value="Absenden"></form>'."\n"; echo $submit; exit; } # Variablen zuweisen $Erstellt = date("Y-m-d H:i:s"); $Aktivierungscode = rand(1, 99999999); # Daten in die Datenbank einfügen mysql_query("INSERT INTO $TableAktivierung (Aktivierungscode, Erstellt, EMail, Aktiviert, Password) VALUES ('$Aktivierungscode', '$Erstellt', '".$_REQUEST['EMail']."', 'Nein', '".$_REQUEST['Password']."')", $DatabasePointer); $ID = mysql_insert_id(); #Aktivierungsmail verschicken mail($_REQUEST['EMail'], "Aktivierung vornehmen", "Hallo,\n\num den Registierungsprozess abzuschließen, klicken Sie auf den folgenden Link:\n\http://123phplernen.12.funpic.de/aktivierungs-script/gf/registrierung_abschließen.php?ID=$ID&Aktivierungscode=$Aktivierungscode", "FROM: $Absender"); echo"Um die Registrierung abzuschließen, rufen Sie Ihr eMail-Postfach ab und klicken Sie auf den Aktivierungslink."; } else { ?> <?php #Daten eingabefeld ?> <form action="<?php echo$_SERVER['PHP_SELF']; ?>" method="post"> e-mail: <br> <input maxlength="40" name="EMail" type="text"><br><br> Password: <br> <input maxlength="16" name="Password" type="Password"><br><br> Password wiederholung: <br> <input maxlength="16" name="Password2" type="Password"><br> <input name="Send" type="submit" value="Absenden"> </form> <?php } ?> </body> </html> die genaue fehlermeldung die zeile 31 ist die rot makierte Geändert von Wasserstoff (01.09.2008 um 19:56 Uhr) |
|
||||
Sicher, dass du auch mit der richtigen Datei arbeitest? Ich kann da jetzt keinen Fehler finden und erhalte auch selbst keine entsprechende Fehlermeldung.
Ich kann mir höchstens noch vorstellen, dass du statt einem Leerzeichen oder Tab irgendein unsichtbares und nicht erlaubtes Zeichen (bspw. ein geschütztes Leerzeichen) im Quellcode hast. Lösche also mal vor und hinter der Zeile 31 alle Leerzeichen und Zeilenumbrüche und mach sie neu. Mario |
|
|||
thx funkt nu ^^ lag an irgeneinem leerzeichen^^
hab ne neue fehlermaldung die ich auch teoretisch behoben hab aber bekomme ich immer die meldung die email adresse ist schon vergeheben. leider kann ich beim besten willen nix finden worans liegt. die fehlermeldung war diese hier : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '== ''' at line 1 Code:
<html> <head> <title>Registrierung mit Hilfe einer Aktivierungsmail</title> </head> <body> <?php # Variablen zuweisen $DatabaseHost = "localhost"; $DatabaseUser = "123phplernen"; $DatabasePassword = "zwerghamstersql"; $Database = "123phplernen"; $TableAktivierung = "Aktivierung"; $Absender = "ansgar.westphal@gmx.de"; if($_REQUEST['Send']) { # Mit MYSQL-Datenbank verbinden $DatabasePointer = mysql_connect($DatabaseHost, $DatabaseUser, $DatabasePassword); mysql_select_db($Database, $DatabasePointer); # $_REQUEST vorbereiten (maskieren) / weitere variablen zuweisen //$_REQUEST ist ein array mit dem man $_GET und $_POST abrufen kann. //mysql_real_escape_string maskiert in diesm fall $_REQUEST so dass es für eine normale variable (bzw. einen normalen array) gehalten wird. //dies wird benötigt damit mysql_query $_REQUEST abrufen kann. $_REQUEST['Email'] = mysql_real_escape_string($_REQUEST['Email']); $_REQUEST['Password'] = mysql_real_escape_string($_REQUEST['Password']); $_REQUEST['Password2'] = mysql_real_escape_string($_REQUEST['Password2']); $passwordcount = strlen($_REQUEST['Password']); # Eingaben überprüfen $ueberpruefung = mysql_query("SELECT EMail FROM Aktivierung WHERE EMail == '".$_REQUEST['Email']."'") or die(mysql_error()); if($_REQUEST['Password'] != $_REQUEST['Password2'] OR $_REQUEST['Password'] == "" OR $passwordcount < 4 OR !ereg("^.+@.+\\..+$", $_REQUEST['EMail']) OR mysql_num_rows($ueberpruefung) == 1 OR $ueberpruefung > 1 ) { if($_REQUEST['Password'] != $_REQUEST['Password2']) { echo "Ihre Passwordeingaben stimmen nicht überein! <br>"; } if($_REQUEST['username'] == "") { echo "Sie haben keinen username eingegeben! <br>"; } if($_REQUEST['Password'] == "") { echo "Sie haben kein Password eingegeben! <br>"; } if($passwordcount < 4) { echo "Ihr Password ist zu kurz (sie benötigen 4-16 Ziffern/Buchstaben)! <br>"; } if(!ereg("^.+@.+\\..+$", $_REQUEST['EMail'])) { echo "Die eingegebene Emailadresse ist nicht korrekt! <br>"; } if(mysql_num_rows($ueberpruefung) == 1 OR $ueberpruefung > 1) { echo "email-adresse schon vergeben"; } # Neue Eingabefelder $submit = '<form action="'.$_SERVER['PHP_SELF'].'" method="post">'."\n". 'e-mail: <br> <input maxlength="40" name="EMail" type="text"><br><br>'."\n". 'Password: <br> <input maxlength="16" name="Password" type="Password"><br><br>'."\n". 'Password wiederholung: <br> <input maxlength="16" name="Password2" type="Password"><br>'."\n". '<input name="Send" type="submit" value="Absenden"></form>'."\n"; echo $submit; exit; } # Variablen zuweisen $Erstellt = date("Y-m-d H:i:s"); $Aktivierungscode = rand(1, 99999999); # Daten in die Datenbank einfügen mysql_query("INSERT INTO $TableAktivierung (Aktivierungscode, Erstellt, EMail, Aktiviert, Password) VALUES ('$Aktivierungscode', '$Erstellt', '".$_REQUEST['EMail']."', 'Nein', '".$_REQUEST['Password']."')", $DatabasePointer); $ID = mysql_insert_id(); #Aktivierungsmail verschicken mail($_REQUEST['EMail'], "Aktivierung vornehmen", "Hallo,\n\num den Registierungsprozess abzuschließen, klicken Sie auf den folgenden Link:\n\http://123phplernen.12.funpic.de/aktivierungs-script/gf/registrierung_abschließen.php?ID=$ID&Aktivierungscode=$Aktivierungscode", "FROM: $Absender"); echo"Um die Registrierung abzuschließen, rufen Sie Ihr eMail-Postfach ab und klicken Sie auf den Aktivierungslink."; } else { ?> <?php #Daten eingabefeld ?> <form action="<?php echo$_SERVER['PHP_SELF']; ?>" method="post"> e-mail: <br> <input maxlength="40" name="EMail" type="text"><br><br> Password: <br> <input maxlength="16" name="Password" type="Password"><br><br> Password wiederholung: <br> <input maxlength="16" name="Password2" type="Password"><br> <input name="Send" type="submit" value="Absenden"> </form> <?php } ?> </body> </html> Geändert von Wasserstoff (01.09.2008 um 21:44 Uhr) |
Themen-Optionen | |
Ansicht | |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Parse error: syntax error, unexpected T_STRING, expecting | Fire112 | Serveradministration und serverseitige Scripte | 4 | 24.12.2007 12:34 |
Parse error: syntax error, unexpected T_STRING, expecting ']' | The Pumper | Serveradministration und serverseitige Scripte | 7 | 15.11.2006 15:58 |