PHP设置cookie与按钮

时间:2012-02-04 17:31:27

标签: php cookies

<?
function cookie()
{
setcookie('enable',yes,time() + (60 * 1)); 
}
echo('<input type="button" onclick="cookie()" value="Gimme all the cookies!" />');
?>

我看不到任何通过按钮设置cookie的方式(谷歌叔叔都没有)。我已经尝试过这样的方法↑但是都不起作用。

2 个答案:

答案 0 :(得分:4)

好的,这是许多人在第一次尝试Web开发时犯的一个简单错误。有时很难概念化JavaScript和PHP的交互方式。因此,您在服务器上运行php脚本,该脚本生成HTML和JavaScript,然后将其发送到Web浏览器。在Web浏览器中加载HTML和JavaScript后,JavaScript无法访问PHP函数。

因此,您必须通过在服务器上调用按钮调用PHP脚本或通过执行AJAX查询来设置cookie数据。

AJAX起初可能有点困难,但请查看JQuery实现:http://api.jquery.com/jQuery.ajax/

希望有所帮助。

答案 1 :(得分:1)

你不能这样做。它只是行不通。 Javascript函数无法在PHP中调用setcookie ()方法,因为它无法访问它。 Javascript在客户端执行,PHP在服务器端执行。

有两种方法可以做到这一点:

  • 通过AJAX。起初可能会有点困难。最好尝试方法2。
  • 使按钮位于不可见的形式内。当用户按下它时,他被重定向到另一个PHP页面,该页面设置cookie然后将用户重定向回原始页面。

一旦你成功完成了这个,你可以尝试使用AJAX,它会更容易理解。