按下按钮时保存cookie

时间:2016-05-19 10:44:07

标签: javascript php cookies

我有这段代码

<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>

这个功能在头脑中。 “页面”变量(在javascript中)......好吧我不知道在哪里定义但我看到它在菜单后面使用(在正文中)。 有人能帮助我吗?

2 个答案:

答案 0 :(得分:4)

你的代码是不可能的。因为当你的页面被加载时,这段代码:

<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';
?>

答案 1 :(得分:1)

我会使用以下内容。一个非常简单的表单,带有一个按钮和一个用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>">