我试图找出为什么我的cookie没有被设置。我试图在处理表单信息的同一文件中设置它。这是我的设置:
现在,我发现它没有特别设置的方式是,如果您在存储cookie时回到它,表单不应出现在步骤1中。但简单地说,没有存储cookie。
每次填写表单时我都会收到一封电子邮件,并且每次我都会收到电子邮件,因此所有关于表单信息的信息都会按照原样进行处理。
用户页面
<?php
if (isset($_COOKIE['achieve-more-cookie'])) {
include(DOCUMENT_ROOT.'_includes/collapse-content.php');
} else { ?>
<div id="step1">
<div id="step1-formcontainer" class="ppc-forms">
<h3>Example Heading #1</h3>
<form action="../../_includes/achieve-more-form-handler.php" method="POST">
<label>Name:</label>
<input type="text" name="name" id="name"<?php echo(isset($name)?' value="'.$name.'"':''); ?> required /><br />
<label>Email:</label>
<input type="email" name="email" id="email"<?php echo(isset($email)?' value="'.$email.'"':''); ?> required /><br />
<input type="submit" name="submit" value="Submit" />
</form>
</div>
</div>
<?php } ?>
FORM-HANDLER
<?php
if(!empty($_POST)) {
//set cookie
$time = time() + 60;
setcookie('achieve-more-cookie',$time);
$cookie = $_COOKIE['achieve-more-cookie'];
.... the rest of this page is simply the form fields being processed etc.
答案 0 :(得分:1)
您的Cookie已设置,但其路径设置为/ _includes /目录。这意味着您的表单页面无法读取cookie。
Name achieve-more-cookie
Value test
Host dev.performancepartnership.com
* Path /_includes/
Expires Thu, 16 Oct 2014 01:38:29 GMT
Secure No
HttpOnly No
见http://en.wikipedia.org/wiki/HTTP_cookie#Domain_and_Path。可以使用setcookie()(http://php.net/manual/en/function.setcookie.php)配置单独的路径。
setcookie('achieve-more-cookie','cookievalue',time()+60,'/');