snwspeck Posted November 7, 2010 Share Posted November 7, 2010 Basically I am trying to make a login with sessions but its just not working. Can someone look and see for any errors in what I wrote or snippet suggestions? <?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 $username = clean($_POST['username']); $password = clean($_POST['password']); //Input Validations if($username == '') { $errmsg_arr[] = 'Username missing'; $errflag = true; } if($password == '') { $errmsg_arr[] = 'Password missing'; $errflag = true; } //If there are input validations, redirect back to the login form if($errflag) { $_SESSION['ERRMSG_ARR'] = $errmsg_arr; session_write_close(); header("location: login.php"); exit(); } //Create query $qry="SELECT * FROM users WHERE AND username='$username' AND password='$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_USERNAME'] = $member['username']; $_SESSION['SESS_EMAIL'] = $member['email']; $_SESSION['SESS_BETAKEY'] = $member['betakey']; $_SESSION['SESS_PIN'] = $member['pin']; session_write_close(); header("location: member-index.php"); exit(); }else { //Login failed $errmsg_arr[] = 'Username/Password Invalid'; $_SESSION['ERRMSG_ARR'] = $errmsg_arr; session_write_close(); header("location: login.php"); exit(); } }else { die("Query failed"); } ?> Link to comment https://forums.phpfreaks.com/topic/217982-help-sessions/ Share on other sites More sharing options...
phpSensei Posted November 7, 2010 Share Posted November 7, 2010 What are the error messages? Did you try printing all the sessions to see if there arent null? also is it a blank page your getting or does it redirect to the login.php? Link to comment https://forums.phpfreaks.com/topic/217982-help-sessions/#findComment-1131273 Share on other sites More sharing options...
snwspeck Posted November 7, 2010 Author Share Posted November 7, 2010 Whats happening is I click login on my login form then I go to a white page with the words, "Query Failed" which is the last else statement in my code. Link to comment https://forums.phpfreaks.com/topic/217982-help-sessions/#findComment-1131274 Share on other sites More sharing options...
phpSensei Posted November 7, 2010 Share Posted November 7, 2010 Whats happening is I click login on my login form then I go to a white page with the words, "Query Failed" which is the last else statement in my code. change the DIE() function with mysql_error(); so you now what the mysql error is. Link to comment https://forums.phpfreaks.com/topic/217982-help-sessions/#findComment-1131275 Share on other sites More sharing options...
snwspeck Posted November 7, 2010 Author Share Posted November 7, 2010 I used mysql_error(); and the page just goes white. Link to comment https://forums.phpfreaks.com/topic/217982-help-sessions/#findComment-1131276 Share on other sites More sharing options...
phpSensei Posted November 7, 2010 Share Posted November 7, 2010 I used mysql_error(); and the page just goes white. well $qry="SELECT * FROM users WHERE AND username='$username' AND password='$password'"; you put WHERE and AND together... I figured you would see that and help you solve the problem yourself.. should be $qry="SELECT * FROM users WHERE username='$username' AND password='$password'"; Link to comment https://forums.phpfreaks.com/topic/217982-help-sessions/#findComment-1131278 Share on other sites More sharing options...
snwspeck Posted November 7, 2010 Author Share Posted November 7, 2010 Resolved: I look very stupid for not seeing that but thank you my friend. Link to comment https://forums.phpfreaks.com/topic/217982-help-sessions/#findComment-1131279 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.