我使用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>
答案 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();