Log in

View Full Version : Forgot Login Script



oldtimer
12-16-2009, 06:25 PM
Okay, I've been working on this for a good solid day now and can't seem to get anywhere with it (all I get in the non-descriptive "unexpected $end" message). It works simple enough; user answers to preset security questions and the answers are matched to the appropriate info on the database. Maybe someone smarter than me could help out ;)

Have a look for yourself, any help would be greatly appreciated! Thanks in advance!:


<?PHP

$host="localhost";
$username=".";
$password=".";
$db_name=".";

$Color=$_POST['Color'];
$Hobby=$_POST['Hobby'];

mysql_connect("$host", "$username", "$password")or die("cannot connect to server");
mysql_select_db("$db_name")or die("cannot select DB");

$User=mysql_query("SELECT User FROM users WHERE Color='$Color'")or die('failed to find username');

$Pass=mysql_query("SELECT Pass FROM users WHERE Hobby='$Hobby'")or die('failed to find password');

$Email=mysql_query("SELECT Email FROM users WHERE Color='$Color'") or die('failed to get email address');

$result=mysql_query("SELECT Account FROM users WHERE Hobby='$Hobby'") or die('Query failed');

$count = mysql_num_rows($result);
if($count < 1){
header("Location: error.php");
}
else {

// ---------------- SEND MAIL FORM ----------------

$to=$Email;

$subject="Your login is here!";

$header="from: security <security@mysite.com>";

$message= "Was this what you were looking for? \r\n
Your username is $User \r\n
Your password is $Pass \r\n";

if (mail($to, $subject, $message, $header)) {
header("Location: login-sent.htm");
}
else {
header("Location: error.php");
}

?>

twQ
12-16-2009, 06:33 PM
Not sure mate, never was good with databases. I'd wait someone will help you.

Tim

bluewalrus
12-16-2009, 06:35 PM
You never ended this

else {

// ---------------- SEND MAIL FORM ----------------

twQ
12-16-2009, 06:38 PM
Hahahaha I shoulda looked a bit harder then I could've answered. Sorry for the waste, thank you blue.

oldtimer
12-16-2009, 08:24 PM
Wow, you have no idea how much time I've wasted on this; thank yo so much for finally straightening me out!

djr33
12-16-2009, 08:42 PM
Unexpected $end means that the parser reached the end of the document and is still within some sort of sub-section of code. Usually it's like above, but it could be a quote, or parentheses, etc.
Unfortunately this type of error is hard to fix because it won't know exactly where the error originated (since it happens at the last line of code, obviously). Commenting out sections of code strategically will help, or just rescanning to be sure everything is closed. Using exit(); (which ends the execution of the script) will help, because you can find out if the endless loop or endless section of code is yet reached.