

PHPの有料講座で課題が出ましたが、
解答がないのでここで質問させてください。
PHPでCookieを使って、下記のような訪問回数を表示するカウンターを作りたいです。
よろしくお願いします。
cookieを使って訪問回数カウンターを作ってみよう
・PHPでCookieを使って、下記のような訪問回数を表示するカウンターを作ってください。
初回訪問時は「ようこそ!初めての訪問ありがとうございます!」と出力
2回目以降の訪問は「こんにちは!あなたの訪問は2回目です!」と出力(数値は訪問毎に増える)
10回訪問したらカウンターをリセットする
クッキーの有効期限は24時間に設定する
ヒント
Cookieの発行にはsetcookie関数を使う
Cookieを受け取るには$_COOKIE変数を使う
自分の書いたコード
<?php
setcookie('username','yamada',time()+60*60*24);
echo $_COOKIE['username'];
echo 'ようこそ!初めての訪問ありがとうございます!';
echo 'こんにちは!あなたの訪問は2回目です!';
?>
このように、もうすでに行き詰っています
No.2ベストアンサー
- 回答日時:
dice_zk1 さん
・・・・・cookieを使って訪問回数カウンターを作ってみよう・・・・・・・
ご参考に↓
<?php
if ( isset($_COOKIE["username"]) ){ //cookieがあるとき
$n = $_COOKIE["username"] +1;
if($n > 10){ $n = 0;} // カウンターをリセット
echo 'こんにちは!あなたの訪問は'.$n.'回目です!';
} else{//初めての訪問
echo 'ようこそ!初めての訪問ありがとうございます!';
$n = 1;
}
setcookie( "username" ,$n,time() + 3600*24);
?>
私の求めている解答を有難うございます。
$n = $_COOKIE["username"] +1;
はおそらく、
$n = $_COOKIE[$n] +1;
が正しいのですね。
{}の一対の関係がよくなかったのか、微妙に上手くいきませんでした。おしいです!
No.3
- 回答日時:
>$n = $_COOKIE["username"] +1;
>はおそらく、
>$n = $_COOKIE[$n] +1;
>が正しいのですね。
間違ってるかと。※添付図はNo.2(gura_さん)のをそのまま実行。

No.1
- 回答日時:
クッキー処理の定石は
1. クッキーを読み取り値を得る
2. 値を編集する
3. 値をクッキーに書き込み
-- ここまで画面表示は禁止 --
4. 値を元に表示
参考)
https://www.php.net/manual/ja/language.variables …
今回ならば
1. クッキー 'count' を読み取り → $c / 無ければ 0 → $c
2. $c を加算 / 10以上なら1 → $c
3. $c を書き込み → クッキー 'count'
4a. $c が 1 なら "初回" を表示
4b. 上記以外なら "{$c}回" を表示
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
- PHP phpでcookieがうまく保存されない 2 2023/08/02 16:40
- PHP PHP MySql ページング 2 2022/09/20 06:38
- 医師・看護師・助産師 有料老人ホームで施設内訪問看護をしています。 1日の稼働が毎日組まれていて、1日に18件もの訪問看護 1 2023/06/11 11:51
- その他(プログラミング・Web制作) seleniumbasic chrome操作について 1 2023/03/29 15:40
- PHP sessioncookieをではなくcookieを使わなければならない理由について… 4 2022/11/07 13:01
- 介護福祉士・ケアマネージャー・社会福祉士 ケアマネの居宅訪問及び担当者会議について 3 2023/01/13 23:41
- 医療・介護・福祉 家族の介護で訪問のサービスを利用する事がありますが、家に訪問する担当者から時々例えば「週一回の訪問を 4 2023/06/20 17:12
- PHP htmlで複数の個数入力欄を表示させるには 1 2022/09/20 03:11
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Dosブロンプトでtabを出力したい
-
バッチファイルでpingの結果を...
-
shシェルスクリプト 空白行の...
-
findstrのerrorlevel
-
全角を半角にして、整数か小数...
-
環境変数「%USERPROFILE%」の内...
-
コマンドプロンプト フォルダ内...
-
小数点以下0の非表示
-
pdftkを使った処理をバッチファ...
-
echoの区切り方(コンマ又はピ...
-
print と echo の違い
-
syntax error, unexpected 'ech...
-
switch()文で値の大小比較
-
PHP一覧表示した項目にリンクを...
-
バッチファイルで、全てのウィ...
-
phpでcookieがうまく保存されない
-
「取得先」という表現について
-
VBS「開いているページ」のURL...
-
「ページネーション」で検索キ...
-
DTOとEntityの差は何ですか。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Dosブロンプトでtabを出力したい
-
バッチファイルでpingの結果を...
-
shシェルスクリプト 空白行の...
-
ゼロとNULLを区別して number_f...
-
findstrのerrorlevel
-
小数点以下0の非表示
-
switch()文で値の大小比較
-
syntax error, unexpected 'ech...
-
phpでcookieがうまく保存されない
-
Windowsのsetコマンドでの小数...
-
バッチファイルで、全てのウィ...
-
bashの関数の引数にスペースが...
-
DBのハッシュ化したパスワード...
-
コマンドプロンプト フォルダ内...
-
ウイルスもどき
-
pdftkを使った処理をバッチファ...
-
オブジェクトの中身の判定(PHP)
-
PHPでのパスワード制限のセキュ...
-
XMLのタグの有無をPHPで判定し...
-
batファイルでPC名称の変更
おすすめ情報