アクセスカウンター2〜訪問順に異なるリンクへ誘導する〜

プログラミング

アクセスカウンター2〜訪問順に異なるリンクへ誘導する〜

訪問順にアクセスさせる

訪問順に4つのリンクを順にアクセスするよう誘導する。

訪問者数を4で割った余って+1した番号のリンクを選ばせる。

アクセスカウンターアクセスカウンター2

Link2をクリックしなさい。

ソースコード

count.datとindex.phpは同じディレクトリ。ここではcssは省略する。

count.dat訪問者数を格納する。(初期値では0)

0

index.phpは以下の通り。

<?php
  //カウント数が記録してあるファイルを読み書きできるモードで開く
  $fp = fopen('count.dat', 'r+b');

  //ファイルを排他ロックする
  flock($fp, LOCK_EX);

  //ファイルからカウント数を取得する
  $count = fgets($fp);

  //カウント数を1増やす
  $count++;
?>

<!DOCTYPE html>
<html lang="ja">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>アクセスカウンター</title>
  </head>
  <body>
    <div class="counter-area">
      <!-- ファイルから取得したカウント数を表示する -->
      <p><span class="access-count">Link<?php echo $count%4+1 ;?></span>をクリックしなさい。</p>
    </div>

  <ul class="links">
    <li><a href="https://www.youtube.com/watch?v=vLV0UZ308bQ&t=155s">Link1</a>
    <li><a href="https://tomomon.jp/travel/my_secret_place/">Link2</a>
    <li><a href="https://tomomon.jp/travel/travel_ranking/"> Link3</a>
    <li><a href="https://tomomon.jp/programming/ksnctf5/">Link4</a>
  </ul>
  </body>
</html>

<?php
  //ポインターをファイルの先頭に戻す
  rewind($fp);

  //最新のアクセス数をファイルに書き込む
  fwrite($fp, $count);

  //ファイルのロックを解除する
  flock($fp, LOCK_UN);

  //ファイルを閉じる
  fclose($fp);
?>

コメント

タイトルとURLをコピーしました