Drezard Posted September 16, 2006 Share Posted September 16, 2006 I really cant get these two scripts to work together to give me the output i want.Here are the two scripts:login_form.php:[CODE]<?php// initialize a sessionsession_start();?><html><head></head><body><?phpif (!isset($_SESSION['login']) && !isset($_POST['user'])) { // if no data, print the form?> <form action="<?php echo $_SERVER['PHP_SELF']?>" method="post"> Username:<input type="text" name="user"><br> Password:<input type="password" name="pass"><br> <input type="submit" name="submit"> </form><?php}if (!isset($_SESSION['login'])) { include('connect.php'); // if a session does not exist but the form has been submitted // check to see if the form has all required values // create a new session $user = empty($_POST['user']) ? die ("Please Enter A Username") : mysql_escape_string($_POST['user']); $pass = empty($_POST['pass']) ? die ("Please Enter A Password") : mysql_escape_string($_POST['pass']); $sql = "SELECT * FROM users WHERE user='$user' AND pass='$pass'"; $result = mysql_query($sql); $count=mysql_num_rows($result); if($count==1){ $_SESSION['userinfo'] = $user; ?> <meta http-equiv="refresh" content="0;url=login_sucess.php">; <?php } if ($count == 0) { echo "Username or password are incorrect"; } }?></body></html>[/CODE]login_sucess.php:[CODE]<?phpsession_start();$user = $_SESSION['username'];setcookie('user', $user, time()+36000*24*365);session_destroy();?><head></head><body><?phpif (isset($_COOKIE['user'])) {echo "Login Complete";}else {echo "$user";}?></body></html>[/CODE]Thanks, Daniel Quote Link to comment https://forums.phpfreaks.com/topic/20951-script-annoying-me/ Share on other sites More sharing options...
JustinMs66@hotmail.com Posted September 16, 2006 Share Posted September 16, 2006 ...well you should probubly tell us the output you want so that we know what to help you with. Quote Link to comment https://forums.phpfreaks.com/topic/20951-script-annoying-me/#findComment-92880 Share on other sites More sharing options...
markbett Posted September 16, 2006 Share Posted September 16, 2006 perhaps your problem lies:[code]if (isset($_COOKIE['user'])) {echo "Login Complete";}else {echo "$user";}[/code]how is $user set if they couldnt log in?? Quote Link to comment https://forums.phpfreaks.com/topic/20951-script-annoying-me/#findComment-92882 Share on other sites More sharing options...
HuggieBear Posted September 16, 2006 Share Posted September 16, 2006 There's actually quite a bit wrong with this code, but don't worry, we can fix it :)I'll ask you a few questions, when you know the answers they'll help you to realise the mistakes.1. If I go to login_form.php and my cookie is already set, what happens?2. If I go to login_form.php with no cookie set, what parts of your code are going to run?As a side note, on login_success.php, you're setting the cookie and checking it on the same page. That's not possible. Until the page is reloaded (either refrshed, or revisited), the cookie won't be registered.RegardsHuggie Quote Link to comment https://forums.phpfreaks.com/topic/20951-script-annoying-me/#findComment-92894 Share on other sites More sharing options...
Drezard Posted September 16, 2006 Author Share Posted September 16, 2006 Thanks Huggie. Ill have a look at those two problems. I didnt know you couldnt check whether a cookie was set on a page after creating it. Thanks, Daniel Quote Link to comment https://forums.phpfreaks.com/topic/20951-script-annoying-me/#findComment-92909 Share on other sites More sharing options...
Drezard Posted September 16, 2006 Author Share Posted September 16, 2006 Okay I changed the scripts and they started working. Except, it keep displaying "Please Enter A Username". So i changed something else and now it doesnt work at all and i tried to change the script back but it still doesnt work. I cant work out the problem. Theres no error it just doesnt display the form at all.New login_form.php:[CODE]<?php// initialize a sessionsession_start();?><html><head></head><body><?phpif (!isset($_SESSION['userinfo']) && !isset($_POST['user']) && !isset($_COOKIE['user'])) { // if no data, print the form?> <form action="<?php echo $_SERVER['PHP_SELF']?>" method="post"> Username:<input type="text" name="user"><br> Password:<input type="password" name="pass"><br> <input type="submit" name="submit"> </form><?php}if (!isset($_SESSION['userinfo']) && !isset($_COOKIE['user'])) { include('connect.php'); // if a session does not exist but the form has been submitted // check to see if the form has all required values // create a new session $user = empty($_POST['user']) ? die ("Please Enter A Username") : mysql_escape_string($_POST['user']); $pass = empty($_POST['pass']) ? die ("Please Enter A Password") : mysql_escape_string($_POST['pass']); $sql = "SELECT * FROM users WHERE user='$user' AND pass='$pass'"; $result = mysql_query($sql); $count=mysql_num_rows($result); if($count==1){ $_SESSION['userinfo'] = $user; ?> <meta http-equiv="refresh" content="0;url=login_sucess.php">; <?php } if ($count == 0) { echo "Username or password are incorrect"; } }?></body></html>[/CODE]Heres the new login_sucess.php[CODE]<?phpsession_start();$user = $_SESSION['userinfo'];setcookie('user', $user, time()+36000*24*365);session_destroy();?><head></head><body><?phpif (isset($_COOKIE['user'])) {echo "Login Complete";}else {echo "$user";}?></body></html>[/CODE]Thanks, Daniel Quote Link to comment https://forums.phpfreaks.com/topic/20951-script-annoying-me/#findComment-92913 Share on other sites More sharing options...
Drezard Posted September 16, 2006 Author Share Posted September 16, 2006 Please help Quote Link to comment https://forums.phpfreaks.com/topic/20951-script-annoying-me/#findComment-92972 Share on other sites More sharing options...
redarrow Posted September 16, 2006 Share Posted September 16, 2006 you dont seem to use a database connection do you?post what you got now please cheers. Quote Link to comment https://forums.phpfreaks.com/topic/20951-script-annoying-me/#findComment-92992 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.