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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Dosブロンプトでtabを出力したい
-
バッチファイルでpingの結果を...
-
小数点以下0の非表示
-
switch()文で値の大小比較
-
Windowsのsetコマンドでの小数...
-
PHPとCSSを使用して九九...
-
コマンドプロンプト フォルダ内...
-
hiddenを使っているのに、表が...
-
htmlentitiesとhtmlspecialchar...
-
バッチファイルで、全てのウィ...
-
シェルで正規表現 YYYY/MM/DD
-
PHP 九九表
-
shシェルスクリプト 空白行の...
-
syntax error, unexpected 'ech...
-
ゼロとNULLを区別して number_f...
-
batファイルでPC名称の変更
-
batファイルでドロップしたデー...
-
Javascriptの関数をPHPで作りま...
-
strlen関数について
-
DTOとEntityの差は何ですか。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Dosブロンプトでtabを出力したい
-
バッチファイルでpingの結果を...
-
shシェルスクリプト 空白行の...
-
switch()文で値の大小比較
-
findstrのerrorlevel
-
syntax error, unexpected 'ech...
-
phpでcookieがうまく保存されない
-
オブジェクトの中身の判定(PHP)
-
バッチファイルで、全てのウィ...
-
ゼロとNULLを区別して number_f...
-
Windowsのsetコマンドでの小数...
-
小数点以下0の非表示
-
DBのハッシュ化したパスワード...
-
bashの関数の引数にスペースが...
-
pdftkを使った処理をバッチファ...
-
コマンドプロンプト フォルダ内...
-
php mysql SELECT文でテーブル...
-
XMLのタグの有無をPHPで判定し...
-
hiddenを使っているのに、表が...
-
PHP-SQLiteに於いて、複数列の...
おすすめ情報