Jump to content

Problem getting SESSION value with login script


patheticsam

Recommended Posts

Hi! I have a little login script on my webpage and i'm having a small issue here...

 

I have a form to login and here's the login code :

 

<?php

session_start();


require_once('config.php');


$errmsg_arr = array();


$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 clean($str) {
	$str = @trim($str);
	if(get_magic_quotes_gpc()) {
		$str = stripslashes($str);
	}
	return mysql_real_escape_string($str);
}


$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;
}


if($errflag) {
	$_SESSION['ERRMSG_ARR'] = $errmsg_arr;
	session_write_close();
	header("location: login-form.php");
	exit();
}

//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_LAST_NAME'] = $member['lastname'];
		session_write_close();
		header("location: member-index.php");
		exit();
	}else {
		//Login failed
		header("location: login-failed.php");
		exit();
	}
}else {
	die("Query failed");
}
?>

 

 

The login is working perfectly and so the session is created to when I arrive to "member-index.php" it's possible for me to output SESSION values ($_SESSION['SESS_MEMBER_ID'], $_SESSION['SESS_FIRST_NAME'])

 

 

The problem is that once member is logged in, if the member clicks on another page (only for members) I need to output $_SESSION['SESS_MEMBER_ID'] on this other page....I tried with :

 

<?php echo $_SESSION['SESS_MEMBER_ID'];?>

 

But the value is not displaying (but it is displaying on member-index.php).....I thik it's because is n

ot passed from one page to another.....

 

Is there anyway I can get the member_id session value on a different page??????

 

Any help will be greatly appreciated!!!

 

 

Thanks

 

 

ya, make sure to put a session start thing, and if it is a publicly accessible page, try using <?php echo ($_SESSION['SESS_MEMBER_ID']) ? $_SESSION['SESS_MEMBER_ID'] : "Guest";?> shorter than a conventional if statement

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.