From: "micro brew" <[EMAIL PROTECTED]> > Here's my class. I start the session in the > constructor and in later methods attempt to register > session variables. You can see I've tried a couple > different methods but none of them maintain the > session variable values. Any suggestions?
Is register_globals ON or OFF? You shouldn't mix session_register() with $_SESSION. Just use one other the other, but I recommend just using $_SESSION. $_SESSION['var'] = 'some value'; to set a session var, and if(isset($_SESSION['var'])) to see if a variable is set. Also, if you have a varible $foobar within a class method that you define as a session var, you must make it global if you want to access it in other methods. The same thing for HTTP_SESSION_VARS. I think you're just running into a scope issue. ---John Holmes... > Mike > > <?php > > class login { > > //This variable tells the browser where to redirect to > the loginpage > var > $loginPage='http://www.somedomain.com/somepage.php'; > var > $exitPage='http://www.somedomain.com/somepage.html'; > var $loggedIn; > var $access; > var $accesslevel; > > function login($loggedIn, $access, $accesslevel) { > > session_start(); > if ($loggedIn=='1') { > $this->checkLogin(); > } > if ($access=='1') { > $this->checkAccess(); > } > if ($access=='0' && $loggedIn=='0') { > $this->authenticateLogin(); > } > } > > function checkLogin() { > > if (session_is_registered('user')!='True') { > session_register('unauthorizedaccess'); > $unauthorizedaccess="http://" . > $_SERVER['SERVER_NAME'] . $_SERVER['SCRIPT_NAME']; > header("location: $this->loginPage"); > exit(); > } > } > > function checkAccess() { > > if (session_is_registered('permission')=='True') { > if > ($HTTP_SESSION_VARS['permission']<$this->accesslevel) > { > session_destroy(); > header("location: $this->exitPage"); > exit(); > } > } > else { > session_register('unauthorizedaccess'); > $unauthorizedaccess="http://" . > $_SERVER["SERVER_NAME"] . $_SERVER["SCRIPT_NAME"]; > header("location: $this->loginPage"); > exit(); > } > } > > function authenticateLogin() { > > if ((!$HTTP_POST_VARS['un']) || > (!$HTTP_POST_VARS['pw'])) { > session_register('loginError'); > header("Location: $this->loginPage"); > exit(); > } > > else { > > include("includes/db_connect.inc"); > > //call db_connect function from db_connect.inc > db_connect() or trigger_error("MySQL error #" . > mysql_errno() . ":" . mysql_error()); > > $query="select * from users where username=\"" . > addslashes($HTTP_POST_VARS['un']) ."\" and > password=\"" . addslashes($HTTP_POST_VARS['pw']) . > "\""; > > $result=mysql_query($query) or trigger_error("MySQL > error #" . mysql_errno() . ":" . mysql_error()); > > $foundCount = mysql_num_rows($result); > > if ($foundCount==1) { > session_register('user'); > session_register('permission'); > session_register('company'); > session_unregister('loginError'); > for ($i=0; $i < $foundCount; $i++) { > $row=mysql_fetch_array($result); > $_SESSION['user']=$row['userID']; > $_SESSION['permission']=$row['permissionLevel']; > > $_SESSION['company']=$row['companyID']; > } > if > (session_is_registered('unauthorizedaccess')=='True') > { > > $location=$HTTP_SESSION_VARS['unauthorizedaccess']; > session_unregister('unauthorizedaccess'); > header("Location: $location"); > exit(); > } > } > else { > session_register('loginError'); > header("Location: $this->loginPage"); > exit(); > } > } > } > > > //closes class > } > > ?> -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php