如何设置要在onclick事件上创建的php cookie

时间:2016-07-30 20:30:16

标签: javascript php cookies

我使用javascript触发我的Cookie并且我已经被告知the most reliable method to set cookies is to create them on the server side使用php ...

我已经测试了这段代码,但是它会在页面加载时创建cookie,我只需要在用户点击链接时设置它:

    <a href="<?php 
if (!isset($_COOKIE['my_test_cookie'])) {   
ob_start();
setcookie("my_test_cookie", "1", time()+ (86400 * 90), "/");
ob_end_flush();
}?>" onClick="javascript:HideContent('div3');">Create Cookie</a>

是否可以在php上构建cookie并仅创建 onclick 事件?

例如:< href="#" onclick="call_the_php_function_where_we_setup_the_cookie_variables();">click here to create the cookie</a>

1 个答案:

答案 0 :(得分:0)

在客户端浏览器看到页面之前,PHP在服务器上运行。在页面发送到客户端后,没有任何方法可以运行PHP代码。

唯一的解决方案是在单击按钮加载执行您想要的php页面时在后台使用AJAX。

例如,您可以将页面设置为在单击按钮时运行类似的内容:

var req = new XMLHttpRequest();
req.addEventListener("load", function() {
    console.log(this.responseText);
});
req.open("GET", "http://yoursite.com/path_to_cookie_setter_page");
req.send();