【问题标题】:how can i pass javascript cookies to php cookies?如何将 javascript cookie 传递给 php cookie?
【发布时间】:2015-02-03 06:56:45
【问题描述】:

我想创建 html 代码并将其保存到文件中,所以我想使用 PHP 来创建文件。 现在,我有一个问题,我可以将包含 html 代码的 Javascript cookie 传递给 php cookie。 我该如何解决?谢谢。

function save()
     {
        fcookie='testing';
        var test = $("body").html();
        document.cookie=fcookie+"=" + test;
     }  


<?php
  if (isset($_COOKIE["testing"]);
  $file_name = 'index.php';

  fopen($file_name, "w");
  file_put_contents($file_name, $_COOKIE["testing"]);

  ?>    

【问题讨论】:

  • 不通过 cookie 来解决它.. 你为什么要尝试这样做呢?这就是表单和POST 方法的用途..
  • 我认为这是不可能的。正如达伦所说,我们应该尝试做一个 POST。
  • 你想通过这样做达到什么目的?
  • 使用fopen()但不分配给变量?
  • 使用fopenfile_put_contents的组合没有意义。

标签: javascript php cookies


【解决方案1】:

您正在将 cookie 的值设置为 body 元素的内容。这很可能包括会破坏 cookie 的字符(例如换行符)。

注意:将 test 替换为 "foo" 会产生工作代码,而 \nfoo" 不会。

您必须对数据进行编码以删除任何具有特殊含义或被禁止的字符。 MDN uses的方法是在生成cookie字符串时通过encodeURIComponent传递数据。

document.cookie = encodeURIComponent(fcookie) + "=" + encodeURIComponent(test);

请注意,HTML 文档通常很长,因此您也可以通过将这些数据量包含在一个文件中来超出 cookie 的长度限制。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-25
    • 1970-01-01
    • 2021-12-19
    • 2013-02-18
    • 2022-06-25
    • 2016-03-01
    • 2016-04-12
    • 1970-01-01
    相关资源
    最近更新 更多