tommycahir Posted April 4, 2009 Share Posted April 4, 2009 Hi All I am a relative newbie to PHP and I am having issues with the below login script. I can get it to log me in correct no problems and validates the data correctly but what I want it to do is when the login fails I want it to return me to the index.php page and return a specific line of text along the lines of "username or password were incorrect please try again". I can get it to return to the PHP page an d return an error but for some unknown reason to me it displays the error on the registration page. BTW I have the returning to a page with error message if some fields are blank working for the registration page so not sure what i need to alter to get the same happening for a failed login Any help you can give would be greatly appreciated: Regards Tommy Below is my code for executing the login <?php //Start session session_start(); //Include database connection details require_once('config.php'); //Array to store validation errors $errmsg_arr = array(); //Validation error flag $errflag = false; //Connect to mysql server $link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD); if(!$link) { die('Failed to connect to server: ' . mysql_error()); } //Select database $db = mysql_select_db(DB_DATABASE); if(!$db) { die("Unable to select database"); } //Function to sanitize values received from the form. Prevents SQL injection function clean($str) { $str = @trim($str); if(get_magic_quotes_gpc()) { $str = stripslashes($str); } return mysql_real_escape_string($str); } //Sanitize the POST values $login = clean($_POST['login']); $password = clean($_POST['password']); //Input Validations if($login == '') { $errmsg_arr[] = 'Login ID missing'; $errflag = true; } if($password == '') { $errmsg_arr[] = 'Password missing'; $errflag = true; } //Create query $qry="SELECT * FROM members WHERE login='$login' AND passwd='".md5($_POST['password'])."'"; $result=mysql_query($qry); //Check whether the query was successful or not if($result) { if(mysql_num_rows($result) == 1) { //Login Successful session_regenerate_id(); $member = mysql_fetch_assoc($result); $_SESSION['SESS_MEMBER_ID'] = $member['member_id']; $_SESSION['SESS_FIRST_NAME'] = $member['firstname']; $_SESSION['SESS_EMAIL'] = $member['email']; session_write_close(); header("location: ../products.php"); exit(); }else { //Login failed //header("location: login-failed.php"); $errmsg_arr[] = 'username or password were incorrect please try again'; $errflag = true; } }else { die("Query failed"); } //If there are input validations, redirect back to the login form if($errflag) { $_SESSION['ERRMSG_ARR'] = $errmsg_arr; session_write_close(); header("location: ../index.php"); exit(); } ?> Quote Link to comment 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.