sstoveld Posted May 1, 2009 Share Posted May 1, 2009 hey guys, having lots of trouble with my school assignment. i need to build a fake dvd lending library for bob dylan. users must login to be able to rent a dvd. im just working on the login right now. when a user logs in, it is supposed to redirect them to members.php, but for some reason it is not. i also am getting plenty of warnings. users can login ok, but it just wont redirect. here's the url: http://stovelddesign.com/INF216/final/index.php a test login you can use is: User Name: test Pasword:test <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Insert Data From Text File</title> <link href="styles/style.css" rel="stylesheet" type="text/css" media="screen" /> </head> <body> <div id="wrapper"> <div id="banner"> <h1><center><a href="index.php">Bob Dylan DVD Rental</a></center></h1> </div><!-- banner --> <div id="mainContent"> <h2>Lending Library</h2> <?php // This is a Bob Dylan Lending Library. I will update this part later // // Connect to the server // $dbcnx = @mysql_connect('*******', '*******', '*******') or die ('I cannot connect to the database because: ' .mysql_error()); // Connect to the database // mysql_select_db('sstoveld', $dbcnx); if (!@mysql_select_db('sstoveld')) { exit ('<p>Error in query.'. mysql_error(). '<p>'); } // END OF CONNECTION CODE // //Checks if there is a login cookie if(isset($_COOKIE['ID_my_site'])) //if there is, it logs you in and directes you to the members page { $username = $_COOKIE['ID_my_site']; $pass = $_COOKIE['Key_my_site']; $check = mysql_query("SELECT * FROM users WHERE username = '$username'")or die(mysql_error()); while($info = mysql_fetch_array( $check )) { if ($pass != $info['password']) { } else { header("Location: members.php"); } } } //if the login form is submitted if (isset($_POST['submit'])) { // if form has been submitted // makes sure they filled it in if(!$_POST['username'] | !$_POST['pass']) { die('You did not fill in a required field.'); } // checks it against the database if (!get_magic_quotes_gpc()) { $_POST['email'] = addslashes($_POST['email']); } $check = mysql_query("SELECT * FROM users WHERE username = '".$_POST['username']."'")or die(mysql_error()); //Gives error if user dosen't exist $check2 = mysql_num_rows($check); if ($check2 == 0) { die('That user does not exist in our database. <a href=register.php>Click Here to Register</a>'); } while($info = mysql_fetch_array( $check )) { $_POST['pass'] = stripslashes($_POST['pass']); $info['password'] = stripslashes($info['password']); $_POST['pass'] = sha1($_POST['pass']); //gives error if the password is wrong if ($_POST['pass'] != $info['password']) { die('Incorrect password, please try again.'); } else { // if login is ok then we add a cookie $_POST['username'] = stripslashes($_POST['username']); $hour = time() + 3600; setcookie(ID_my_site, $_POST['username'], $hour); setcookie(Key_my_site, $_POST['pass'], $hour); //then redirect them to the members area header("Location: members.php"); } } } else { // if they are not logged in ?> <form action="<?php echo $_SERVER['PHP_SELF']?>" method="post"> <table border="0"> <tr><td colspan=2><h1>Login</h1></td></tr> <tr><td>Username:</td><td> <input type="text" name="username" maxlength="40"> </td></tr> <tr><td>Password:</td><td> <input type="password" name="pass" maxlength="50"> </td></tr> <tr><td colspan="2" align="right"> <input type="submit" name="submit" value="Login"> </td></tr> </table> <p><a href="register.php">Register</a> </form> <?php } ?> </div><!-- mainContent --> <div id="footer"> <p>Coded and designed by: <a href="mailto:[email protected]">Steve Stoveld</a></p> </div><!-- footer --> </div><!-- wrapper --> </body> </html> any and all help is appreciated, thank you Quote Link to comment https://forums.phpfreaks.com/topic/156344-login-not-directing-to-members-area/ Share on other sites More sharing options...
taith Posted May 1, 2009 Share Posted May 1, 2009 cant use header() after content has been parsed... either switch your core to verify account before outputing, or echoing meta redirects instead. Quote Link to comment https://forums.phpfreaks.com/topic/156344-login-not-directing-to-members-area/#findComment-823157 Share on other sites More sharing options...
sstoveld Posted May 1, 2009 Author Share Posted May 1, 2009 cant use header() after content has been parsed... either switch your core to verify account before outputing, or echoing meta redirects instead. to tell you the truth, i have no idea what you just said im rushing to get my final project done by sunday and found most of this code on about.com do i even need to have it redirect to a new page? im not worried about any sort of security as im rushing through this and its only a class project. could i just have it all in the index.php? EDIT: im also receiving these warning: Warning: Cannot modify header information - headers already sent by (output started at /home/content/s/s/t/sstoveld/html/INF216/final/index.php:12) in /home/content/s/s/t/sstoveld/html/INF216/final/index.php on line 98 Warning: Cannot modify header information - headers already sent by (output started at /home/content/s/s/t/sstoveld/html/INF216/final/index.php:12) in /home/content/s/s/t/sstoveld/html/INF216/final/index.php on line 99 Warning: Cannot modify header information - headers already sent by (output started at /home/content/s/s/t/sstoveld/html/INF216/final/index.php:12) in /home/content/s/s/t/sstoveld/html/INF216/final/index.php on line 102 Quote Link to comment https://forums.phpfreaks.com/topic/156344-login-not-directing-to-members-area/#findComment-823162 Share on other sites More sharing options...
laffin Posted May 1, 2009 Share Posted May 1, 2009 if yer login systen doesnt need a login successful page than no, a redirect isnt needed on the login successful page u can inlcude the members page (again, if nothing is outputted) sumfin like if(!$loggedin) die('Invalid Login'); include('members.php'); simple and effective Quote Link to comment https://forums.phpfreaks.com/topic/156344-login-not-directing-to-members-area/#findComment-823220 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.