![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
クッキーを利用して、訪問回数ごとに違うページを表示(ランダムではなく順番に表示)させ、最後のページまで表示させたらまた最初のページから順番に表示させる、この処理をループさせたいのですが、書き方がわかりません。
例えば、表示させたいページがA~C.htmlの3ファイルだった場合、一回目の訪問はA.htmlを表示、2回目の訪問はB.htmlを表示、3回目の訪問はC.htmlの表示、4回目の訪問はまた最初に戻ってA.htmlを表示、5回目の訪問はB.htmlを表示、6回目の訪問はC.htmlを表示、7回目の訪問はまた最初に戻ってA.html・・・というような処理をループさせたいのです。
下記ソースを応用したいのですが、どの部分をどう変更したらよいのか、どなたか教えて頂けませんか?よろしくお願いいたします。
このソースは、訪問回数によってテキストが表示されるというものですが、今回はテキストを表示させるのではなく訪問回数によって用意したページに直接飛ばしたいのです。
<?php header("Content-Type:text/html;charset=Shift_JIS"); ?>
<?php
$cookie = "repeaters"; // Cookieの名前
$period = time() + 365*24*3600; // Cookieの有効期限(サンプルは1年)
if(isset($HTTP_COOKIE_VARS[$cookie])) {
$num = (int)$HTTP_COOKIE_VARS[$cookie];
$num++;
}
else $num = 1;
setcookie($cookie, $num, $period);
?>
<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY>
<?php
if($num == 1) echo "初めての訪問ありがとうございます";
else echo "今回で".$num."回目の訪問になります";
?>
</BODY>
</HTML>
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
>>8回目に訪問した人からまた順番にA.html,B.html,C.html・・・・
>>と最初に戻って表示させるにはどうしたらよいでしょうか。
上記の例の場合、$num が8、つまり8回目の訪問の時には初訪問の1にすれば良いので、
vdropさんの式なら、
・・・・・・
・・・・・・
$num++;
}
else $num = 1;
if( $num >= '8' ) $num = '1';
setcookie($cookie, $num, $period);
No.2
- 回答日時:
#1さんの回答にあった
D.html~G.html
は質問者さんの投稿に登場しません。
$num % 3
の値によってジャンプ先(A.html, B.html, C.html)を
変える必要があるのではないでしょうか。
asuncionさん、ご回答ありがとうございました!
A.html~C.htmlは例えですので、D.html~G.htmlであっても問題ありません。
No.1
- 回答日時:
$numに訪問回数なので
$top_html = '';
if( $num <= '1') $top_html = './welcome/A.html';
else if( $num <= '2') $top_html = './welcome/B.html';
else if( $num <= '3') $top_html = './welcome/C.html';
else if( $num <= '4') $top_html = './welcome/D.html';
else if( $num <= '5') $top_html = './welcome/E.html';
else if( $num <= '6') $top_html = './welcome/F.html';
else if( $num >= '7') $top_html = './welcome/G.html';
<HTML>
<HEAD>
<TITLE></TITLE>
<meta http-equiv ="refresh" content="0; url= $top_html">
</HEAD>
</html>
では、どうでしょうか。
この回答への補足
Suziさん、アドバイスありがとうございます!
$top_html = '';
if( $num <= '1') $top_html = './welcome/A.html';
else if( $num <= '2') $top_html = './welcome/B.html';
else if( $num <= '3') $top_html = './welcome/C.html';
else if( $num <= '4') $top_html = './welcome/D.html';
else if( $num <= '5') $top_html = './welcome/E.html';
else if( $num <= '6') $top_html = './welcome/F.html';
else if( $num >= '7') $top_html = './welcome/G.html';
↑このソースは下記のどの部分に追記したらよいでしょうか?
<?php header("Content-Type:text/html;charset=Shift_JIS"); ?>
<?php
$cookie = "repeaters"; // Cookieの名前
$period = time() + 365*24*3600; // Cookieの有効期限(サンプルは1年)
if(isset($HTTP_COOKIE_VARS[$cookie])) {
$num = (int)$HTTP_COOKIE_VARS[$cookie];
$num++;
}
else $num = 1;
setcookie($cookie, $num, $period);
←この部分に追記でOKでしょうか?
?>
また、Suziさんのソースで、8回目に訪問した人からまた順番にA.html,B.html,C.html・・・・と最初に戻って表示させるにはどうしたらよいでしょうか。
何度もすみませんが、ご回答頂けたら助かります。
よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHPで訪問回数を表示するカウンタを作成したい 3 2023/05/27 07:09
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
- PHP PHP MySql ページング 2 2022/09/20 06:38
- PHP phpでcookieがうまく保存されない 2 2023/08/02 16:40
- PHP php ログイン 1 2022/11/01 00:24
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- C言語・C++・C# プログラミングの問題です。至急教えてください。 /***から***/の部分をプログラミングにしてほし 1 2022/10/13 11:48
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
HPを開くとダウンロードページ...
-
社内イントラネットのHPにアク...
-
訪問回数ごとに違うページを表...
-
階層の少ないページ作り
-
すごく初歩的な質問です
-
フォントの色を変えるには?
-
onedrive にexcelファイルをア...
-
Subversionのリポジトリの削除
-
拡張子php画像をjpg画像等に変...
-
PHPのif文でその処理を途中で抜...
-
バッチを用いたフォルダの自動移動
-
別ファイルの変数を呼び出した...
-
FTPコマンドでディレクトリごと...
-
form actionで二つ送信先を指定...
-
さくらレンタルサーバーでPHPが...
-
ftpでアップロードが出来ない
-
.phpと.incファイルの違いはな...
-
TSVファイルをCSV形式に変換したい
-
【file_exists】ファイルが存在...
-
別PHPファイルに変数を渡す
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
HPを開くとダウンロードページ...
-
index.phpって何ですか? 具体...
-
社内イントラネットのHPにアク...
-
phpで大量のhtmlを任意の順番で...
-
PHPでの複数ファイル出力
-
CGIでHTMLファイルのPHP部分を...
-
phpコードの戻り値をhtmlファイ...
-
ヒアドキュメントの中で別ファ...
-
HTMのファイルをPHPに変換す...
-
VScode文字の色の変更について
-
php excelダウンロード
-
public_htmlと同じ階層にあるフ...
-
拡張子をhtmlにすることのメリ...
-
PHPの結果をhtmlで保存する方法
-
トップページURLのみで下層ペー...
-
phpのheader関数でページ移動さ...
-
PHP プルダウンからの選択 ペ...
-
file_get_contentsでcss読み込み
-
file_get_contents()の動きが読...
-
includeで読み込んだ内容を変数...
おすすめ情報