程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> session的奇怪問題(已經搜索過,自己還解決不了)

session的奇怪問題(已經搜索過,自己還解決不了)

編輯:關於PHP編程




session的奇怪問題(已經搜索過,自己還解決不了)

我的登陸主頁面,就是判斷是否登陸,直接輸入地址饒過登陸窗口,第一次出現 你無權訪問 ,session文件裡出現admin|b:0; 刷新一次,出現 你已經登陸
Notice: Undefined index: name in d:usrwwwhtmldengluindex.php on line 5
111122223333
session文件裡的那個文件又變成admin|b:1; admin的值為1了。奇怪呀!!!
這就是index.php的代碼:

$admin=false;
if(isset($_SESSION['admin'])&&$_SESSION['admin']=true)
{ echo "你已經登陸";
echo $_SESSION['name'];
}
else
{$_SESSION['admin']=false;

die("你無權訪問");
header("Location:login.htm");
}

?>

111122223333






在前面的驗證中,如果用戶名和密碼正確,則讓$_SESSION['admin'] = true;

這是 login.php代碼:
$xm=$_POST['xingming'];
$ps=$_POST['password'];
$_SESSION['admin'] = false;
$link = mysql_connect('localhost','root','');
$db = mysql_select_db('hehetsg');
$result = mysql_query("select * from user where user = '$xm' and psw ='$ps'");
if ($row=mysql_fetch_array($result))
{ if ($row['psw']==$ps and $row['flag']==1)
{ $_SESSION['name']=$row['name'];
$_SESSION['admin'] = true;
echo "歡迎管理員進入!";
echo "管理界面";

}
else
{ echo "不是管理員。對不起!";
echo "點擊返回";
}
}
else { echo "你的信息不全!";
echo "點擊返回";
}

?>

在這裡輸入登陸的信息:





登陸頁面










[ ]



echo "
";echo "
";echo "
";

�!!!!!

幫我解決才是高呀!!呵呵

在session_start()前加error_reporting(0);

isset($_SESSION['admin'])&&$_SESSION['admin']=true
是個邏輯錯�

原帖� 七月十五 � 2008-7-19 16:33 發表 [url=http://www.111cn.cn/bbs/redirect.php?goto=findpost&pid=505295&ptid=70090]鏈接標記[img]http://www.111cn.cn/bbs/images/common/back.gif[/img][/url]
在session_start()前加error_reporting(0);
感謝,但是…�
加了這個,沒有錯誤了,可是我的驗證還是不行呀

登不� 都成� 管理員登陸了�
驗證不成意義了�

原帖� dongxin1390008 � 2008-7-19 16:34 發表 [url=http://www.111cn.cn/bbs/redirect.php?goto=findpost&pid=505300&ptid=70090]鏈接標記[img]http://www.111cn.cn/bbs/images/common/back.gif[/img][/url]
isset($_SESSION['admin'])&&$_SESSION['admin']=true
是個邏輯錯�
那正確的怎麼寫呢�

die("你無權訪�");
header("Location:login.htm");

這裡也有問題


header 前面不能有任何輸�

邏輯的等於是2個等�,賦值是一個等�,
isset($_SESSION['admin'])&&$_SESSION['admin']=true
你這樣寫的話就是只要我�$_SESSION["admin"]不為空即可登�,所以後面的
正確�:
isset($_SESSION['admin'])&&$_SESSION['admin']==true

請大家能帖出正確的代碼嗎�

幫助新手�
非常感激

  1. 上一�:
  2. 下一�:
Copyright © 程式師世� All Rights Reserved