【问题标题】:How can I access cookies immediately?如何立即访问 cookie?
【发布时间】:2016-06-23 21:22:03
【问题描述】:

我知道很多人都问过这个关于 cookie 的问题,但我是编程新手。我在 Wordpress 中创建了一个POST 表单,让人们通过输入他们的电子邮件地址和姓名来下载一些东西,这样我就可以产生潜在客户。但是当我输入数据时,我必须提交两次表格。那么有什么方法可以在设置后立即访问 cookie 呢?

我的代码:

<?php if(isset($_COOKIE['username'])){ ?>

<script type="text/javascript">
    jQuery(document).ready(function($){
        $('a.down').show().css("display", "block");
    });
</script>

<?php } else { include('login.php'); } ?>

是否可以同时使用 session 和 cookie 变量,并先使用 session 显示内容,然后再使用 cookie?我正在使用 cookie 来显示 30 天的数据。

感谢您的宝贵时间。

【问题讨论】:

  • “同时使用会话和cookie”是什么意思
  • 我想使用 isset($_SESSION) 显示内容,一旦完成,以后的内容将根据 cookie 显示,可以吗?
  • 我不明白你在做什么。使用会话和 cookie 的原因大相径庭,如果会话和 cookie 中的数据相同,那就太奇怪了。
  • 其实我的主要目的是显示表单提交后的数据,使用 cookie 向用户显示 30 天的会话对我来说并不重要。那么有没有办法在表单提交后访问cookie?
  • 其实我的客户要求我一次性提交。

标签: php wordpress cookies


【解决方案1】:

我建议使用普通的 PHP 变量。在 PHP 脚本中设置 cookie 时,您必须创建另一个包含相同值的 PHP 变量。

例子:

<?php
if (!empty($_POST['username'])){
set_cookie("username",$_POST['username']);
$username=$_POST['username'];
}
?>

此时需要读出变量:

<?php if(isset($_COOKIE['username']) OR isset($username)){ ?>

<script type="text/javascript">
    jQuery(document).ready(function($){
        $('a.down').show().css("display", "block");
    });
</script>

<?php } else { include('login.php'); } ?>

【讨论】:

  • 我在 stackoverflow 的某个地方读过这个解决方案,但问题是当我使用 isset(变量)时,它不会生成 cookie,并且 cookie 不适用于其他页面
  • 您的代码运行良好,但是当我尝试加载其他页面时,它再次显示表单。
  • 我已经添加了您的代码并进行了一些修改,并且工作正常,但我遇到了其他问题,即我的邮件功能或其他功能无法正常工作。 Setcookie 函数是从您的代码中获取的,而不是从 login.php 获取的。你能帮帮我吗?
  • 如果与此问题无关,我建议您提出一个新问题。
  • 您好,我尝试创建两个问题,但都标记为重复,但那些重复的答案与我的问题无关。现在该怎么做有什么建议吗?
猜你喜欢
  • 2013-12-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-21
  • 1970-01-01
  • 2011-03-14
  • 1970-01-01
相关资源
最近更新 更多