尝试用PHP学习cookie一切似乎都很好,但它甚至没有设置cookie 这是代码
<?php
if (isset($_COOKIE['user'])) {
header('Location: simple.php');
} else {
if (isset($_POST['submit'])) {
if (isset($_POST['username']) && isset($_POST['password'])) {
if (isset($_POST['checkbox'])) {
$expire = time() + 60 * 60;
setcookie('user', $_POST['username'], $expire);
} else {
header('Location: simple.php');
}
} else {
echo 'Please Enter Your Information !';
}
} else {
echo 'Please Submit';
}
}
?>
尝试了
<?php
setcookie("testcookie","testvalue",0);
echo $_COOKIE['testcookie'];
?>
结果是
Notice: Undefined index: testcookie in /var/www/php-practice/cookies/test.php on line 1
并在浏览器中设置Cookie testcookie
,其值为testvalue
感觉$_POST['submit']
出现了一些错误
因为
if (isset($_POST['submit'])) {
//everything else
} else {
echo 'Submit Button Problem !';
}
打印Submit Button Problem !
这是提交按钮的HTML
<input type="submit" value="Submit" name="submit" />
看着这个question并尝试了但仍然没有
我尽我所能,但它不起作用 帮助!
答案 0 :(得分:1)
请注意,您无法同时在同一页面上设置和显示Cookie。如果您设置并重定向到另一个页面或重新加载页面,它将显示cookie值。
<?php
setcookie("testcookie","testvalue",0); //this will work
echo $_COOKIE['testcookie']; // won't work unless reloaded
?>
对于您的初始脚本。确保$ _POST ['复选框']存在,复选框是html表单复选框输入的名称吗?
//Your HTML form should include this
<input type="checkbox" value="1" name="checkbox" />
if (isset($_POST['checkbox'])) {
$expire = time() + 60 * 60;
setcookie('user', $_POST['username'], $expire);
} else {
header('Location: simple.php');
}
修改HTML表单以包含method =“post”
<form method="post">
<input type="text" name="username" />
<input type="password" name="password" />
<input type="checkbox" value="1" name="checkbox" />
<input type="submit" value="Submit" name="submit" />
</form>
答案 1 :(得分:0)
$ _COOKIE仅在 网站加载后可用。