gpt4 book ai didi

PHP创建cookie并仅在cookie存在时显示网站

转载 作者:行者123 更新时间:2023-12-03 03:14:01 24 4
gpt4 key购买 nike

我想保护网站不被访问,直到用户同意某件事。基本思想是,在每个页面的顶部,它将检查 cookie 是否存在,如果不存在,则退出并包含一个包含消息和两个按钮的 php 页面,一个按钮将创建 cookie,另一个按钮只是将它们移出网站,例如谷歌.com

编辑:

这就是我最终得到的结果:

警告包含看起来像这样:

 <?php

function pageURL() {
$pageURL = 'http';
if ($_SERVER["HTTPS"] == "on") {
$pageURL .= "s";
}
$pageURL .= "://";
if ($_SERVER["SERVER_PORT"] != "80") {
$pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
}
else {
$pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
}
return $pageURL;
}

$pageRedirect = pageURL();

if (
isset($_POST['agree_button']) && ($_POST['agree_button'] == 'I agree')
) {
setcookie('agreed', 'true');
header("Location:$pageRedirect",303);
}
?>


<form action="<?php echo pageURL(); ?>" method="post">
<p>INSERT MESSAGE HERE (User must agree)</p>
<input type="submit" value="I agree" name="agree_button" />
<input type="button" value="I disagree" />
</form>

页面顶部是这样的:

<?php

if(!isset($_COOKIE['agreed']) || ($_COOKIE['agreed'] != 'true'))
{
include('warning.php'); exit;
}

?>

最佳答案

我会在客户端做...

<script src="js/jquery.cookie.js" type="text/javascript"></script>
<form>
<p>INSERT MESSAGE HERE (User must agree)</p>
<input type="submit" value="I agree" onclick="$.cookie('agreed', 'true'); location.href='/'" />
<input type="button" value="I disagree" />
</form>

支票将是...

if (
!isset($_COOKIE['agreed'])||
($_COOKIE['agreed'] != 'true')
) {
include('warning.php');
exit;
}

如果你想在服务器端设置cookie,你需要...

<?php
if (
isset($_POST['agree_button'])&&
($_POST['agree_button'] == 'I agree')
) {
setcookie('agreed', 'true');
header('Location: /'); // redirect to main page
}
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
<p>INSERT MESSAGE HERE (User must agree)</p>
<input type="submit" value="I agree" name="agree_button" />
<input type="button" value="I disagree" />
</form>

参见setcookie() man page

关于PHP创建cookie并仅在cookie存在时显示网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3526186/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com