又有cookie的问题

Raser 2003-02-16 11:12:36
我发现setcookie有一点儿怪:

我编写了一个名为test_cookie_0005.php的文件,内容是检测一个cookie,代码如下:
$co="u_lg";
if(isset($_COOKIE[$co]))
{
echo "$_COOKIE[$co]";
}
else
{
echo "none";
}
我是用test_cookie_0006.php设置的cookie,代码如下:
$coname="u_lg";
$value="Raser";
$lifetime=time() + 3600;
setcookie($coname,$value,$lifetime);
echo "cookie is setted";

上传后,我先运行文件6,再运行文件5,输出Raser,没有问题。
但是当我把文件6的代码拷贝、粘贴到名为login.php的文件中,又把文件5拷到index.php中之后,cookie就设置不上了(先运行login.php,后运行index.php,index.php返回none;index.php、login.php在主目录/,两个test文件在/test中)。

我仅在login.php只加入了一段检查用户合法性的代码,也可以肯定setcookie那一段被执行了。对了,我还把$value换成了一个字符串变量(也是5字节英文,来自mysql字段)。

为什么会出现这个问题我一直搞不清楚,请各位高手解答。
...全文
34 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Raser 2003-02-20
  • 打赏
  • 举报
回复
不过我原来的setcookie前都没有输出,除非经过if语句,而且过了if后也有exit()终断程序,不再调用setcookie。
Raser 2003-02-19
  • 打赏
  • 举报
回复
我把问题解决了,怎么解决的自己也说不清楚。可以说说过程。

发了这个帖子之后,我又想试试把文件6 copy到login所在的目录下试试,结果是设置上了cookie。于是我在文件6的基础上重写了login.php。这一次我先抄了文件6中设置cookie的部分,然后试了一下,可以设置,接下来我加入了一段验证是否输入密码的代码在前面:
if(!isset($Uname) || !isset($Upassword))
{
echo "Password or username has not been set!";
}
于是cookie就设置不上了。后来我在if 中加了一个exit();于是cookie又可以设置了(你说怪不怪?)。

接下来我把从mysql中读数据验密码的代码加上。一切正常,OK,完成了。

我对比了一下前面我写的那个设不上cookie的程序,没有发现有什么不同之处,但把前面的那个传到服务器,又设不上cookie。
sakura169 2003-02-19
  • 打赏
  • 举报
回复
设置cookie前,不能有输出
bombshell 2003-02-19
  • 打赏
  • 举报
回复
用session最好
sdyqingdao 2003-02-17
  • 打赏
  • 举报
回复
cookie只限于同目录有用,但是好像你的问题不是目录改变的问题,
要不清掉/test目录下的cookie,重新试试?

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧