也许我错过了一些东西,但我不确定。我只是想做的就是设置cookie,以便我可以在以后检索它们的值。我试图实现这样的事情,但无济于事....不知道为什么它不起作用,因为它不那么困难。
我有一个简单的登录表单,你知道,用户名/通行证等......没什么特别的。
成功登录后,我有类似的内容:
// COOKIE DETAILS HERE
setcookie('username4pc',$userName);
setcookie('userpass4pc',$userPass);
header("Location:testCookie.php");
我已经确定这是在HTML标记之前以及在将任何内容输出到页面之前。 所以,我已经从我的程序中取出上面的内容,并将其放在一个空白的html页面上进行测试,现在它看起来像这样......
点击索引页面上的“登录”后,它会转到我的新测试页面,该页面只有以下内容:
<?php
setcookie('username4pc',$userName);
setcookie('userpass4pc',$userPass);
header("Location:testCookie.php");
?>
<html></html>
并且在上述运行之后,标题会将其抛出到testCookie.php
页面,该页面只有此
<?php
//test cookie
if(isset($_COOKIE['first_name'])){
echo " cookies set";
} else {
echo "cookie not set";
}
?>
<html></html>
无论我做什么,我总是得到“cookie not set”
关于为什么和出错的任何想法?
答案 0 :(得分:5)
你错误地访问了cookie,它应该是:
if(isset($_COOKIE['username4pc'])){
or
if(isset($_COOKIE['userpass4pc'])){
一个简单的var_dump($_COOKIE)
将准确显示cookie数组中的内容。
答案 1 :(得分:1)
我看到的第一件事是你正在设置和检查两件不同的东西。
您正在检查的内容:
isset($_COOKIE['first_name'])
您正在设置
setcookie('username4pc',$userName);
setcookie('userpass4pc',$userPass);