![]() |
|
首页 │ Apache │ Linux│ Java│ MySQL│ 注册│帮助 | |||
我首页 index.php 全部采用了 ajax
我把登陆的数据全部POST了处理页 login.php
login.php:
[php]
<?php
//服务器端处理程序
require_once ('../include/config.php');
require_once ('../include/function.php');
//获得的请求
$username = safestr($_POST["user"]);
$password = safestr($_POST["pass"]);
$autolog = safestr($_POST["autolog"]);//autolog的值为true表示用户选择了自动登陆,没有选择则为false
//判断用户名是否存在
$sql="select * from plh_user where username = '$username'";
$result=mysql_query($sql) or die(mysql_error());
$row=mysql_fetch_array($result);
$userid=$row['userid'];
$num=mysql_num_rows($result);
if( $num == 0 )
{
echo "nouser";
exit;
}
else//登陆操作
{
if ((trim($row['username']) == trim($username)) and (trim($row['userpw']) == md5(trim($password))))
{
$userlogintime =date("Y-m-d H:i:s");
$password =md5(trim($password));
$sql = "UPDATE `plh_user` SET `userlogintime` = '$userlogintime' WHERE `userid` ='$userid'";
$result=mysql_query($sql) or die(mysql_error());
setcookie("long",$row['username'],time()+3600);
/*
session_register ("plh_userlogin");
session_register ("plh_userid");
session_register ("plh_username");
session_register ("plh_userlogintime");
$_SESSION["plh_userlogin"] =true;
$_SESSION["plh_userid"] =$row['userid'];
$_SESSION["plh_username"] =$row['username'];
$_SESSION["plh_userlogintime"] =$userlogintime;
@session_write_close();
*/
echo $_COOKIE['long']; //我这里
// echo $_SESSION["plh_username"];
//echo "loginok";
}
else
{
echo "errorpass";
}
}
?>
[/php]
上面我注释掉了session 是因为我用session试的时候也不行,
具体情况为:
我在index.php输入用户名,密码后,如果用户名和密码都正确 echo $_COOKIE['long']; 这一句 在执行第一次的时候没有任何输出,是空白。
登陆第二次的时候就会显示出登陆名来了。。郁闷,这个不知道什么原因。。
再者就算是登陆了2次以上 ,login.php里的 echo $_COOKIE['long']; 这一句可以显示出值来了 但是我在index.php里 用 <?php echo $_COOKIE['long']; ?>却什么也不显示,是空白,这个也不明白了。。难道不是全局可以使用的变量?
小弟一直没使用过cookie ,原来一直用session,所以我又加上了注释掉的那段session代码测试,结果一测试,和cookie的效果差不多。只不过session这里登陆一次 在login.php里 echo $_SESSION["plh_username"];可以显示出正确的值,但是在index.php里用 echo $_SESSION["plh_username"];也是什么都不显示 一片空白,
不明白为什么了。。。以前我用session的时候在登陆页(比如login.php)注册了session, 给session赋值后,所有的页面都可以访问到session啊,这里却不行了 cookie,session都不行,,
请大家帮我解释下原因呢。。我真的不太明白这个了。

