ホームページ >バックエンド開発 >PHPチュートリアル >クッキーに関するこのコードの書き方を教えてください。

クッキーに関するこのコードの書き方を教えてください。

WBOY
WBOYオリジナル
2016-06-23 13:41:35982ブラウズ

問題は次のとおりです:
たとえば、qq.html、baidu.html、so.html という 3 つのページがあり、そのうちの 1 つを rand.php からランダムに開きます。

設定された時間範囲内 (24 時間など) で、同じユーザーが毎回同じページのみを開くようにする方法を教えてください。 たとえば、このユーザーは初めて baidu.html を開きます。次に彼が訪問したとき 現時点では、baidu.html のみが開かれ、qq.html と so.html はランダムに開かれません。


ディスカッションへの返信 (解決策)

Set cookie,setCookie('name','value',time()+24*3600)

if(isset($_COOKIE[ 'url'])){
header('Location:'. $_COOKIE['url']);
}else{
$urlArr = array('qq.html','baidu.html','so.html ');
$urlId = array_rand($urlArr,1);
header('Location:'. $urlArr[$urlId]);
setcookie('url',$url,time()+24*3600);
}

$arr = array('qq.html','baidu.html','so.html');$page = '';if(isset($_COOKIE['page'])){    $page = $_COOKIE['page'];}else{    $page = $arr[mt_rand(0,2)];    setcookie('page',$page,time()+86400);}echo file_get_content($page);

ユーザーが初めて開いたページには Cookie の値が記録され、次回の訪問時には Cookie マークを介して該当のページにアクセスします。

クッキーの時間を設定するだけです。有効期限が切れると無効になります

Cookieを使用するとニーズを満たすことができますが、Cookieをクリアしたりブラウザを変更すると、ユーザーは別のページが表示される可能性があります

訪問者のIPとその日の0時のタイムスタンプを組み合わせて検索することをお勧めします3の残りで決定します
アクセス時間から24時間が必要な場合は、2つの方法を組み合わせる必要があります

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。