フリーランスのためのネットビジネス専門学校 ネットで独立開業を目指す人を応援
フリーランスのためのネットビジネス専門学校 ネットで独立開業を目指す人を応援

ワードプレスを使って無料で作る 会員制ポイントサイトの作り方 第四回 クッキーを使ってポイントの二重操作を防ぐ方法

前回はブロック記事を読むとポイントが変化する仕組みを学びました。
しかし、前回の課題として同じページを再読込するとポイントが二重に操作されるという問題がありましたね。これを簡便ながらクッキーで解決します。

クッキーというのはサーバー側ではなくユーザー側のブラウザに保存される一時データです。
よくパスワードの保存に使用されていますよね。
PHPでクッキーを扱うのはとても簡単です。

▼とほほのCookie入門
www.tohoho-web.com/wwwcook.htm

クッキーを保存するには以下のようにします。

[note]setcookie( クッキー名 , 保存する値 , 有効期限 );[/note]

保存したクッキーを取り出すには以下のようにします。

[note]保存した値 = $_COOKIE[ クッキー名 ];[/note]

簡単に書きましたがPerlやJavascriptに比べて非常に簡単ですね。
クッキーで保存する値ですが、閲覧しているページのURLとします。URLはダブルことがないからです。

URLを取得するには2つの特殊な環境変数を使います。
環境変数「$_SERVER」はサーバーの環境が入った配列です。

「HTTP_HOST」を指定するとホスト名が取得でき、「REQUEST_URI」でホスト名以下が取得できます。

[note]$_SERVER[ “HTTP_HOST” ]
$_SERVER[ “REQUEST_URI” ][/note]

これを繋げるとホスト名とそれ以下が取得できます。

$url = $_SERVER[ "HTTP_HOST" ] . $_SERVER[ "REQUEST_URI" ];

単に判定するだけなので「http://」部分については不要です。
URLをクッキーに保存し、もし同じページを見ている場合はポイントの操作が既に行われているので何もしません。もしURLが異なればポイントを操作する、という処理です。

以下が改作したものです。前回記述した「functions.php」を以下に書き換えて下さい。

会員限定コンテンツ

この記事はブロックされています。続きを読みたい方はログインをして下さい。会員ではない方は新規会員登録をして下さい。

ログインはこちら

新規会員登録はこちら

パスワードをメールで送信します。

コメント

  1. 2018/04/09(月) 07:53:23
    ガキ使企画「絶対に美味しい炊き込み御飯」にて 邦正作のナタデココバナナミルクご飯の臭いを嗅いであまりの悪臭に思わず「ジョウェアアアアァ!!」と叫んでしまった浜田に対して 松本「ホンマに嫌になって帰るときのウルトラマンか!!」
  2. 2018/04/09(月) 07:53:23
    今 月 休 み 希 望 出 し て な い 僕 は シ フ ト 良 い よ う に 作 ら れ 馬 車 馬 の 如 く こ き 使 わ れ て る 。
  3. 2018/04/09(月) 07:53:23
    カ!スがデ作共UP、自が使!多故、うずうず当日迎。 皆が使見、嬉&満也。
  4. 2018/04/09(月) 20:12:39
    昔岁逢太平,山林二十年。泉源在庭户,洞壑当门前。井税有常期,日晏犹得眠。忽然遭时变,数岁亲戎旃。今来典斯郡,山夷又纷然。城小贼不屠,人贫伤可怜。是以陷邻境,此州独见全。使臣将王命,岂不如贼焉令彼征敛者,迫之如火煎。谁能绝人命,以作时世贤。思欲委符节,引竿自刺船将家就鱼麦归老江湖边
  5. 2018/04/09(月) 20:12:39
    不爱下厨的现代人 我知道不少人觉得每天要构思煮什么很辛苦,更听过各种不下厨的理由——因为工作加班到深夜,回到家后早已无心做饭;以外务为重,总是将真正重要的私事延后处理,最终忽略不理;决心婚后要好好洗手作羹汤,却因为兼顾工作与家庭,使做饭成为一种负担;小孩长大后离家,

記事に戻る

コメントを残す