初歩的な質問ですが下記のコードを実行した際、staff_add_check.phpにて
Notice: Undefined index: name in /Applications/MAMP/htdocs/php/ric/staff_add_check.php on line 14
name,pass,pass2が定義されてないと出てしまいます。
文法エラーかと思ったのですが、参考にしている本と比べても違う箇所が見つからず数時間経ちました。
誰か助けてください m(__)m
<!DOCTYPE html> <html> <head> <title>スタッフ</title> <meta charset="utf-8"> </head> <body> <h1>スタッフ追加</h1> <form method ="post"action="staff_add_check.php"> <p>スタッフ名を入力</p> <input type="text"name="name"value=""><br/> <p>パスワードを入力してください</p> <input type="text"name="pass"value=""><br/> <p>パスワードを確認のためもう一度入力してください</p> <input type="text"name="pass2"value=""><br/> <input type="button"onclick="history.back()"value="戻る"> <input type="submit"value="OK"> </form> <body> </html> > staff_add_check.php <!DOCTYPE html> <html> <head> <title>スタッフ</title> <meta charset="utf-8"> </head> <body> <?php function back(){ echo "<form>". "<input type='button'onclick='history.back()'value='戻る'>". "</form>"; } $staff_name =$_POST["name"]; $staff_pass =$_POST["pass"]; $staff_pass2 =$_POST["pass2"]; // 入力データの安全対策 $staff_name = htmlspecialchars($staff_name, ENT_QUOTES,'UTF-8'); $staff_pass = htmlspecialchars($staff_pass, ENT_QUOTES,'UTF-8'); $staff_pass2 = htmlspecialchars($staff_pass2,ENT_QUOTES,'UTF-8'); //スタッフ名チェック if($staff_name ==""){ echo "<p>名前がないよ</p>"; back(); }else{ echo "<p>スタッフ名 : ".$staff_name."</p>"; } //passチェック if($staff_pass == ""){ echo "<p>パスワードがないよ</p>"; back(); } else if($staff_pass2=""||$staff_pass != $staff_pass2){ echo "<p>パスワードが違うよ</p>"; back(); } // else{ $staff_pass = md5($staff_pass); $d = "<form method='post'action='staff_add_done.php'>". "<input type='hidden'name='name'value=".$staff_name.">". "<input type='hidden'name='pass'value=".$staff_pass.">". "<input type='button'onclick='history.back()'value='やめとく'>". "<input type='submit'value='OK'>". "</form>"; echo $d; } ?> <body> </html>staff_add.php
回答2件
あなたの回答
tips
プレビュー