I assume you use PHP 4.3x with register_globals = off in php.ini. Please read though my comments in your codes.

I hope this helpful!

John Fuller wrote:

Hello all, I am new to php in general and am trying to set up a user authentification system with mysql. The registration page works well and sends all of the data to the appropriate table in mysql. However, when I try to get the registered user to log in and start a session, the system will not remember the session information past the page. For instance, this page will not work (the one that initially is supposed to register the session from the login form):
<?
session_start();
$username="chris";
$database="login";


// following codes waste your memory.
// why you need two variables which are doing exactly the same thing
//> $login = $_POST['login'];
//> $password = $_POST['password'];

if((!$_POST["login"]) || (!$_POST["password"])){
 echo "Please enter ALL of the information! <br />";
 include 'login.php';
 exit();
}
mysql_connect(localhost,$username);
@mysql_select_db($database) or die( "Unable to select database");
$sql=mysql_query("SELECT * FROM login WHERE login=' " . $_POST["login"] . "' AND password='" . 
$_POST["password"] . "'");
$login_check = mysql_num_rows($sql);
if($login_check > 0){
  // This is where I register the session
you don't need session_register....
//>   session_register('login');
you may need to get random numbers to set up you login
where did you get $login ? you mean $_POST["login"], ok!
it is not good iead to use the same login!
$_SESSION["login"] = md5(uniqid(rand(), 1));
//>   $_SESSION['login'] = $login;
mysql_close();
include 'success.php';
} else {
echo "You could not be logged in! Either the username and password do not match or you have not validated your membership!<br />
Please try again!<br />";
include 'login.php';
}
?>
It proceeds to login the user for that page (I know this happens because I have played around with it looking at the error checks), but it will not display any variable that resembles "$_SESSION['login']". The next page sequentially (success.php) looks like this:
<?
session_start();
echo 'Successful login for "$_SESSION['login']"';
?>
Any and all variations of this page come up blank and white whenever the variable $_SESSION['login'] is called to display. It shows no memory of me registering a session. Any variation of quotes verse apostrophes changes nothing, so I figure that either I am blatantly screwing up the session code (possible for I have never written any sessions before) or my system is not supporting sessions. I have a php4 something, windows, apache 1.3.27 for my home network server, and mysql. Any help on this problem would be greatly appreciated. Thanks a lot for your time, John





--------------------------------- Do you Yahoo!? SBC Yahoo! DSL - Now only $29.95 per month!


--
PHP Install Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Reply via email to