麻辣堂|资源主站|开发论坛|在线手册
首页 Apache Linux Java MySQL 注册帮助 
PHP项目开发组是PHP开发资源网于2007组年建成立的项目开发团队,目前核心开发成员有27人, 项目协作成员8名.下设7个开发组,主要承接大/中型网站项目开发任务。

    由于开发任务较多,人员比较紧张,现面向社会招聘全职或者兼职开发人员,不管你是在校大学生,还是全职开发人员,以及SOHO都可以联系本站,我们可以长期合作,并为您带来丰厚的报酬。
  您现在的位置:PHP开发资源网 > 麻辣堂 > 详细资料
待解决
AJAX与cooike/Session出了点问题,请大家帮忙看看!
悬赏分:20 - 2007年08月22日

我首页 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都不行,,

请大家帮我解释下原因呢。。我真的不太明白这个了。

提问者:plhwin   08-22 16:04
答复
路过。。。顺便帮顶:)
回答者:玉米づ冰冻可乐 - 瓦岗村民 8-22 09:10
我也来回答:
不管你有没有帮助我们,瓦岗寨8万村民将感谢你。。。。。

为防止灌水,您需要计算一道数学题: 答案:
72 + 81 = ? 请将计算结果填在上面

 
[]
©2007 PhpRes.COM