我想在用戶同意某事之前保護網站不被訪問。其基本思想是,在每個頁面的頂部,它將檢查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