我有这段代码
<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中)......好吧我不知道在哪里定义但我看到它在菜单后面使用(在正文中)。 有人能帮助我吗?
答案 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>">