Hello , Those code doesn't mean anything to client browser, you may session cookie problem. Please check php.net online manual about it.
Regards Sancar On Saturday 04 August 2007 18:20:49 Brian Seymour wrote: > I mostly use Firefox but still I check to make sure everything works in IE7 > and other browsers equally as well. I had strange results here. I have a > simple login form(user/pass field and submit button). I have the actual > login request script in a common php file. I have an Authentication class > that handles my auth stuff. With the code the way it is, it works perfectly > in firefox. However, in IE7 when you log in it shows the restricted stuff > but as soon as you navigate anywhere else you no longer have access. If you > login again then it works fine just like the first time you logged in using > firefox. > > Now if you change $_SESSION['uid']=="" to !isset($_SESSION['uid']) then it > works perfectly on both browsers. > > Anyhow, rifle through the code -- just something to think about. Anybody > else have a similar issue before? > > Web Code: > Restricted stuff: > <?php > if ($_SESSION['uid']==""){ > $ops->postLogin($e); > }else{ > ?> > Logged in stuff(Restricted stuff) > <?php } ?> > > Common snippet: > if ($_POST[action]=="login"){ > $auth = new > Authentication($host,$user,$pass,"dbname","http://aerocore.net/"); > if > ($auth->verifyCreds($_POST['username'],$_POST['password'],"base_contributor >s ","id")) > { > $_SESSION['uid'] = $auth->retId; > $auth->failSafe(); > break; > } > } > > Authentication: > class Authentication extends SQL { > public $errorMsg; > public $retId; > public $clean = array(); > public $fail; > > public function __construct($host,$user,$pass,$dbname = > null,$fail) > { > parent::__construct($host,$user,$pass,$dbname = > null); > $this->fail=$fail; > } > > public function failSafe() > { > header("Location: {$this->fail}"); > } > > final public function sanitizeLoginCreds($user, $pass) > { > $this->clean['username']=strip_tags($user); > $this->clean['password']=strip_tags($pass); > if (!ctype_alnum($this->clean['username'])){ > $this->clean['username']=""; } > if (!ctype_alnum($this->clean['password'])){ > $this->clean['password']=""; } > } > > final public function verifyCreds($user, $pass, $table, > $retVal = null) > { > $this->sanitizeLoginCreds($user,$pass); > > //$this->result = $this->query("SELECT * FROM $table > where username='{$this->clean[username]}' and > password='{$this->clean[password]}'"); > > if ($this->fetchNumRows("SELECT * FROM $table where > username='{$this->clean[username]}' and > password='{$this->clean[password]}'") == 0) > { > $this->errorMsg = "Incorrect > Username/Password Combo"; > $this->failSafe(); > return false; > } > else > { > if (isset($retVal)) > { > $this->retId = > $this->fetchArray("SELECT * FROM $table where > username='{$this->clean[username]}' and > password='{$this->clean[password]}'"); > $this->retId = > $this->retId[$retVal]; > } > return true; > } > > } > > final public function secureLogout() > { > $_SESSION = array(); > session_destroy(); > $this->failSafe(); > } > > public function __destruct(){} > } > > Brian Seymour > Zend Certified Engineer > AeroCoreProductions > http://www.aerocore.net/ -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php