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

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

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

クッキーというのはサーバー側ではなくユーザー側のブラウザに保存される一時データです。
よくパスワードの保存に使用されていますよね。
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/12/09(日) 12:15:55
    菜民黨自腐而後蟲生,讓「貪」買票錢「瞋」賭爛菜民「痴」誤信可大賺錢等三毒齊發而使邪惡集團回來 㦖心自問當選的誰肚子有好貨?沒有黑心背景? 反觀台派落選的跟牠們高下立判,至少都是正人君子⋯但是又何奈,飛蛾撲火自作孽不可活 只剩一年懸崖勒馬為時未晚,罪魁禍首請放手讓救命團隊完全執政
  2. 2018/12/09(日) 12:15:55
    中共担忧什么,1/华为替中共非法输出监控技术,美国芯片和专利用于别国包括伊朗,孟在风暴核心圈,2/孟的加拿大永居身份,美国身份,香港身份,使中共大锅撅起的宣传支离破碎,实际是精英逃离,资本转移,离心离德。效果如同王护士长夜闯领馆,为移民作代言。3/孟的结局对富豪与党国的“嫖妓关系”有示范 https://t.co/WvZqOyODwx
  3. 2018/12/09(日) 13:28:17
    大道之行也,天下為公, 選賢與能,講信修睦, 故人不獨親其親,不獨子其子, 使老有所終,壯有所用,幼有所長, 矜、寡、孤、獨、廢疾者,皆有所養。 男有分,女有歸。 貨惡其棄於地也,不必藏於己; 力惡其不出於身也,不必為己。 是故,謀閉而不興,盜竊亂賊而不作, 故外戶而不閉,是謂大同。
  4. 2018/12/09(日) 13:28:17
    1811208C-1:秀必。 “大道之行也,天下为公。选贤与能,讲信修睦,故人不独亲其亲,不独子其子;使老有所终,壮有所用,幼有所长,矜寡、孤独、废疾者皆有所养;男有分,女有归。货恶其弃于地也,不必藏于己;力恶其不出于身也,不必为己。是故谋闭而不兴,盗窃乱贼而不作。故外户而不闭,是为大同。”
  5. 2018/12/09(日) 20:47:45
    あたかもを使って短文を作りなさい ノクティス:冷蔵庫に牛乳があたかもしれない どんよりを使って短文を作(ry イグニス:うどんよりそばが好きだ もし~ならを使って短文(ry プロンプト:もしもし奈良県の人ですか まさか~ろうを使(ry グラディオ:まさかりかついだきんたろう

記事に戻る

コメントを残す