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


JQuery post not running code in PHP file

我有一个名为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(...

您正在将 cookie 设置为过期:星期五, 02 一月 1970 00:00:00 GMT.

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

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

并在break;后修复丢失的大括号