按下按钮时保存cookie


Save cookie when button is pressed

我有这个代码

<script>
    function saver(page) {
        document.cookie = 'page='+page;
        <? $_SESSION['pagina'] = $_COOKIE['page']; ?>
        return null;
    }
</script>

我想在这里按下按钮时执行

<div class="xmenu">
    <div class="parent2">
    <div class="test1"><a href="pics/categories.png"><img src="pics/categories.png"></a></i></div>
    <div class="test2"><a href="pics/user.png"><img src="pics/user.png"></a></i></div>
    <div class="test3"><a href="pics/bookmarks.png"><img src="pics/bookmarks.png"></a></i></div>
    <div class="test4"><a href="pics/search.png"><img src="pics/search.png"></a></i></div>
    <div class="test5"><a href="../../../HOME/demo[ENTRA%20QUI]/new%20%201.html"><img src="pics/home.png"></a></i></div>
    <div class="test6"><a href="javascript:saver();" onClick="saver()"><img src="pics/backup.png"></a></i></div> <--- here the button
    <div class="mask2"><img src="pics/etor.jpg"></a></i></div>
    </div>
</div>

功能在头部。"page"变量(在javascript中)。。。我不知道在哪里定义,但我看到它是在菜单后面使用的(在正文中)。有人能帮我吗?

这是不可能处理您的代码的。因为当你的页面将被加载时,这个代码:

<script>
    function saver(page) {
        document.cookie = 'page='+page;
        <? $_SESSION['pagina'] = $_COOKIE['page']; ?>
        return null;
    }
</script>

将被渲染一次,它看起来像这样:

<script>
    function saver(page) {
        document.cookie = 'page='+page;
        return null;
    }
</script>

当用户点击将调用saver()函数时,服务器不会接收到任何数据。要做到这一点,您必须使用ajax(例如来自jQuery)。

HTML:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script>
    function saver(page) {
        document.cookie = 'page='+page;
        return null;
        $.ajax({
            url: 'http://example.com/your_script.php',
            method: 'get',
            success: function(response) {
                alert(response);
            }
        });
    }
</script>

your_script.php

<?
    $_SESSION['pagina'] = $_COOKIE['page'];
    return 'ok';
?>

我将使用以下内容。一个非常简单的表单,带有一个按钮和一个用PHP设置cookie的函数。

<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    // Set the cookie
    setcookie("TestCookie", "SomethingSomethingSomething", time()+3600);  /* expire in 1 hour */
}
?>
<form method="POST" action="<?= $_SERVER['PHP_SELF']; ?>">
    <button type="submit">Create that cookie already!!!</button>
</form>">