

次のように、login.phpでユーザ情報を入力してindex.phpへジャンプするPHPを
書いているのですが、
次のようなエラーというかWarning(Undefined...)が出てしまいます。
これを出ないようにするためにはどこをどうなおしたらよいでしょうか?
(index.phpへアクセスしたとき)
ようこそ!初めての訪問ありがとうございます!
Warning: Undefined array key "visit" in C:\xampp\htdocs\PHP\index.php on line 24
【index.php】
<?php
$_POST["email"];
$_POST["password"];
echo $_POST["email"]."<br>";
echo $_POST["password"]."<br>";
//訪問回数判定
if(isset($_COOKIE['visit'])){
$counter = $_COOKIE['visit'] + 1;
setcookie('visit',$counter,time()+60*60*24);
$_COOKIE['visit'] = $_COOKIE['visit'] + 1;
echo 'こんにちは!あなたの訪問は'.$_COOKIE['visit'].'回目です<br>';
}else{
echo 'ようこそ!初めての訪問ありがとうございます!<br>';
setcookie('visit',1,time()+60*60*24);
}
//訪問回数10回目ならカウントリセット
if($_COOKIE['visit'] >= 9){
setcookie('visit',0,time()-60);
}
?>
【login.php】
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title> Submit the form data</title>
</head>
<body>
<h1>MyLogin Page</h1>
<form action="index.php" method="POST">
Email <input type="email" name="email" value=""><br>
Password <input type="password" name="password" value=""><br>
<input type="submit" value="login" value="Login"/>
<input type="reset" value="clear">
</form>
</body>
</html>
No.1ベストアンサー
- 回答日時:
dice_zk1 さん
・・・・・次のようなエラー・・・・Warning: Undefined array key "visit" in・・・・・・・・
「未定義の "visit" を呼んではダメよ」と言われているのだから、それを直せばよい。
過去の質問でも同じミスをしていたので直しておいたのに・・・・。↓
https://oshiete.goo.ne.jp/qa/13479077.html
https://oshiete.goo.ne.jp/qa/13480756.html
【修正例】↓
・・・・・・・・
//訪問回数判定
if(isset($_COOKIE['visit'])){
$counter = $_COOKIE['visit'] + 1;
setcookie('visit',$counter,time()+60*60*24);
$_COOKIE['visit'] = $_COOKIE['visit'] + 1;
echo 'こんにちは!あなたの訪問は'.$_COOKIE['visit'].'回目です<br>';
//訪問回数10回目ならカウントリセット
if($_COOKIE['visit'] >= 9){
setcookie('visit',0,time()-60);
}
}else{
echo 'ようこそ!初めての訪問ありがとうございます!<br>';
setcookie('visit',1,time()+60*60*24);
}
?>
訪問回数10回目ならカウントリセット、と
echo 'ようこそ!初めての訪問ありがとうございます!のところの
setcookieの順番が大事なんですね、今やっと間違いに気が付きました。
有難うございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
HTMLで前の画面に戻る時、入力...
-
DBの値をチェックボックスに反...
-
チェックボックスを使った複数...
-
エラーを元の画面に表示させるには
-
PHPでフォームデータをサンクス...
-
アップロードの際にファイルパス
-
検索時の選択内容を保持する方法
-
【HTML(PHP?)】複数のフォーム...
-
POSTやGETの変数をフォーム無し...
-
フォームボタンを押すたびに数...
-
なぜ、unexpected T_VARIABLEに...
-
テキストリンクをPOST送信したい
-
Submit(送信ボタン)を押した...
-
$_SERVER['REQUEST_METHOD']と"...
-
処理後のページ内移動について
-
PHPのエラーの解消法について教...
-
POSTの項目に追加
-
phpで、フォームのラジオボタン...
-
PHPでURLにジャンプするには?
-
DB接続やInsertでのエラーを画...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
HTMLで前の画面に戻る時、入力...
-
検索時の選択内容を保持する方法
-
DBの値をチェックボックスに反...
-
$_SESSIONについて教えて下さい。
-
PHPで、ボタンを押すと同じペー...
-
PHP ボタンが押されたら処理を...
-
<input type="hidden" >で配列...
-
アンケートフォームの作り方
-
入力した部分を表示させたまま...
-
画面が更新されてもチェックボ...
-
ラジオボタンをsessionで使いたい
-
チェックボックスによる検索
-
PHPで画像の渡しが上手く行きま...
-
同じページでフォームデータを...
-
POSTをボタンではなくリンク等...
-
配列をhiddenで
-
HTMLのvalue値を取得したい。
-
パラメーターを隠す
-
選んだ数字だけ繰り返す
-
PHPで画像データーのアップロー...
おすすめ情報
回答有難うございます。
修正していただいた通り直したのですが、
はじめて訪問となった場合、やはりWarning: Undefined array key "visit" in C:...
と同じエラーになってしまいます。
どこかはじめの方でで$visitを宣言しなくてはならないでしょうか?
ようこそ!初めての訪問ありがとうございます!
Warning: Undefined array key "visit" in C:...
if(isset($_COOKIE['visit'])){
$counter = $_COOKIE['visit'] + 1;
setcookie('visit',$counter,time()+60*60*24);
$_COOKIE['visit'] = $_COOKIE['visit'] + 1;