我想在用户同意某事之前保护网站不被访问。其基本思想是,在每个页面的顶部,它将检查cookie是否存在,如果不存在,则退出并包括包含消息的PHP页面和两个按钮,其中一个将创建cookie,另一个按钮将其简单地从站点移出,例如, google.comPHP创建cookie并仅在cookie存在时才显示网站
编辑:
这是我结束了:
警告包括会是这个样子:
<?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;
}
?>
喜欢PHP,但是使用PHP来创建Cookie部分呢?不想为此使用JavaScript。谢谢。 – Cameron 2010-08-19 21:18:56
当我点击按钮cookie被设置,但我仍然看到窗体和消息,除非我刷新页面,这是奇怪的,因为这是包含在页面中,并张贴回来,所以肯定它应该隐藏在用户单击按钮时没有需要重定向?无论如何,代码会用于重定向如果我需要一个?谢谢 – Cameron 2010-08-19 21:37:27
增加了一个重定向的例子 – 2010-08-20 08:08:46