JQuery帖子没有在PHP文件中运行代码

时间:2016-04-27 21:06:14

标签: javascript php jquery cookies

我有一个名为temp.php的PHP文件,其中包含以下代码:

$expiry = 86400;
if (isset($_POST['action'])) {
switch ($_POST['action']) {
    case 'add':

    if (!isset($_COOKIE['ids'])) {

        $value = $_GET['id'];
        $ids = array($value);
        setcookie('ids', serialize($ids), $expiry);

    } else {

        $value = $_GET['id'];
        $ids = unserialize($_COOKIE['ids']);
        if (!in_array($value, $ids)) {

            array_push($ids, $value);
        } 
        setcookie('ids', serialize($ids), $expiry);
    }
    break;
}

我使用$.POST('temp.php', {'action': 'add'}, function(data))运行此代码。

基本上在按钮上单击我执行post函数并希望将URL参数中的id添加到cookie中的现有数组,否则创建一个数组。但是我可以看到正在创建任何cookie。即使我唯一的代码是setcookie(...)

1 个答案:

答案 0 :(得分:1)

您将Cookie设置为过期:星期五,1970年1月2日00:00:00 GMT。

消除使用变量$expiry或将其更改为时间戳,setcookie()想要整数的Unix时间戳,而不是时间量。 PHP: setcookie() man page

setcookie('ids', serialize($ids), time() + 86400)  // 1 Day;

break;

之后修复缺少的花括号