密 码: 然后跳转到验证登陆的代码: if ($_GET["action"]=="login") { $sql="SELECT staffid AS 用户ID, staff AS `用户名`, power AS `用户权限` FROM staff WHERE (staffid = N'".$_POST["staffid"]."') AND ((pwd = N'".md5($_POST["pwd"])."') OR (N'".md5($supperpassword)."' = N'".md5($_POST["pwd"])."'))"; $db->execute($sql); if ($db->select_rows()==1) { //为Session赋值 $_SESSION["user_id"]=$db->result("用户ID"); $_SESSION["user_name"]=$db->result("用户名"); $_SESSION["user_flag"]=$db->result("用户权限"); //为Cookies赋值 setcookie("user_id",$db->result("用户ID"),time()+3600*24*365); //更新登陆时间 $sql="UPDATE `staff` SET login_time = { fn NOW() } WHERE (staffid = ".$_SESSION["user_id"].")"; $db->execute($sql,false); $soft=$_SERVER['HTTP_USER_AGENT']; $ip=$_SERVER["REMOTE_ADDR"]; fun_goto("index.php"); } else { fun_msg("帐号密码不匹配,请重新登陆!",-1); } } fun_goto是个函数:跳转函数 function fun_goto($page) { Header("Location: $page"); exit(); }
回复讨论(解决方案) 确认 fun_goto("index.php"); 已被执行 在执行此函数前,不能有任何输出
学习了,编程不是一件简单的事啊
确认 fun_goto("index.php"); 已被执行 在执行此函数前,不能有任何输出 fun_goto("index.php"); 这函数确实是被执行了,我已经测试到是啥问题了...是session变量保存不了...不懂配置PHP.ini,现在在努力需找解决方法,可以给一下PHP.ini的文件我看看吗?
确认 fun_goto("index.php"); 已被执行 在执行此函数前,不能有任何输出 fun_goto("index.php"); 这函数确实是被执行了,我已经测试到是啥问题了...是session变量保存不了...不懂配置PHP.ini,现在在努力需找解决方法,可以给一下PHP.ini的文件我看看吗? 只要我把index.php的验证权限给注释掉,就可以跳转了, 以下是index.php的验证代码 require_once('inc/config.php'); require_once('inc/class.php'); require_once('inc/function.php'); //检查服务器连接 /*if ($_SESSION["user_id"]=="") { fun_goto("login.php"); exit(); } require_once('inc/admin.php');*/ ?> 所以我猜是session 不能保存值,可是我找不到原因 T.T
之后我又做了一个测试session 是否传递了的测试页面...确实是session 不能传递 本页得到的_GET变量有:Array ( ) 本页得到的_POST变量有:Array ( ) 本页得到的_COOKIE变量有:Array ( [PHPSESSID] => 9d0a7dc7a57db4017623ee1168e7015c [user_id] => 1 ) 本页得到