我试图延迟 PHP 执行,直到通过 JavaScript 设置 cookie。代码如下,createCookie
为了简单起见,我修剪了 JavaScript 函数(我已经测试了函数本身并且它可以工作)。
<?php
if(!isset($_COOKIE["test"])) {
?>
<script type="text/javascript">
$(function() {
// createCookie script
createCookie("test", 1, 3600);
});
</script>
<?php
// Reload the page to ensure cookie was set
if(!isset($_COOKIE["test"])) {
header("Location: http://localhost/");
}
}
?>
起初我不知道为什么这不起作用,但是在使用之后microtime()
我发现 PHP 在jQuery 就绪函数之前<script>
执行。我显着减少了我的代码以显示一个可以回答的简单版本,我很清楚我能够在 PHP 中使用,对 cookie 的要求是客户端。setcookie()
我知道混合 PHP 和 JavaScript 是不正确的,但是对于如何使这项工作有任何帮助(是否有 PHP 延迟?-我试过sleep()
了,没有工作并且认为它不会工作,因为脚本也会被延迟) 将不胜感激。