php中setcookie已经返回1,可写不到电脑里面,怎么回事?急!

来源:百度知道 编辑:UC知道 时间:2024/05/02 18:56:41
我用APACHE建站,127访问。可是在电脑里面找不到我的cookie!怎么回事?
设置页面
$pass="../db/user/10001/info.txt"; $info=file($pass); if($info[1]==$_POST[password])
{if(setcookie('name', $_POST[name],'60*60*24'))
{echo "登陆成功!<a href='http://127.0.0.1/index.php'>返回</a>";
echo $_POST[name];} else echo "失败";} else {return fasle; }

if(setcookie('name', $_POST[name],'60*60*24'))
你的 COOKIE 已经过期了,当然无效。。

后面的有效时间你加了一个引号。变成了字符型。。里面的运算跟本没有起作用。。

另外。就算你没有加引号。这个时间默认为时间戳秒数。也就是说。你这个时间有效期到 1970年1月2日为止。。早就无效了。正确的写法应该是
time() + 3600*24

====================================
补充一下,下次写代码。。记得打回车换行还有段落缩进。。
写得工整会让人看得舒服一点。。也不容易出错。。

检查一下$pass路径,info.txt中第二行与$_POST['password']值相同么,
file函数读取文件会包含换行符,
$_POST['password'],$_POST['name']是否存在,值对不对,
最后检查一下浏览器COOKIE是否禁用

你这问的太笼统了,说的具体一点,把代码 贴出来