LoginSignup
FROG-BOX
@FROG-BOX

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

本のサンプルコードをコピペしてもエラーになる行があり困っています

「気づけばプロ並み PHP」という本で勉強している初心者なのですが、「staff_edit_check.php」というページの11行目でエラーが出ます。ミスが見つけられなくて、お手本のサンプルコードをコピペしても、同じように11行目にエラーが出ます。

エラー表示は以下になります。

Notice: Undefined index: code in /Applications/XAMPP/xamppfiles/htdocs/staff/staff_edit_check.php on line 11

==

「staff_edit_check.php」以外のページの原因で、「staff_edit_check.php」がエラーになることってあるのでしょうか???
意味不明で困っています。良かったら教えていただけないでしょうか。

==
以下が「staff_edit_check.php」になります。
※エラーになる行にマークを付けています

<!DOCTYPE html>



ろくまる農園

<?php

(エラーになる行です)$staff_code=$POST['code'];
$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=='')
{
print 'スタッフ名が入力されていません。
';
}
else
{
print 'スタッフ名:';
print $staff_name;
print '
';
}

if($staff_pass=='')
{
print 'パスワードが入力されていません。
';
}

if($staff_pass!=$staff_pass2)
{
print 'パスワードが一致しません。
';
}

if($staff_name=='' || $staff_pass=='' || $staff_pass!=$staff_pass2)
{
print '

';
print '';
print '';
}
else
{
$staff_pass=md5($staff_pass);
print '';
print '';
print '';
print '';
print '
';
print '';
print '';
print '';
}

?>


0

2Answer

当該の書籍を読んだことがないのでどういった文脈のコードかわかりませんが、別のphpファイルのフォームで入力した値をstaff_edit_check.phpでバリデーションしている感じでしょうか。
フォームからcodeの値がPOSTで飛んでない感じがするので、そのあたりのtypoを疑ってみると良いかもしれません。
またstaff_edit_check.phpをブラウザで直接(GETリクエストで)開いているのであれば、何もPOSTされていないのでUndefined indexが表示されるのは正常な挙動に見えます。

「staff_edit_check.php」以外のページの原因で、「staff_edit_check.php」がエラーになることってあるのでしょうか???

フォーム等で値のやり取りをしていれば別のphpファイルのtypoなどが原因でエラーが表示されることはあります。

1

Comments

  1. @FROG-BOX

    Questioner
    ありがとうございます。他ページのPOSTあたりを見てみます。ショッピンサイトの会員登録みたいなシステムを作っていて似たようなphpページを沢山作りました。まだプログラミングを初めたばかりなので何が悪いのか見当も付かない感じです。
  2. 出版社の説明文を読むとあまり初心者向けではないように見えるので、簡単な入門書を1冊通ってから再挑戦しても良いかもしれません。

    > 『いきなりはじめるPHP』を卒業した方や、多少はプログラミング経験のある方なら、本書を通じて本格的なシステム開発の世界に入って行けます。

    http://www.ric.co.jp/book/contents/book_926.html
  3. @FROG-BOX

    Questioner
    はい。ありがとうございます。その方の更に初心者の「いきなりはじめるPHP」ってのをやり終えて次に紹介されていたんで手を付けた感じですね。説明が省略されている場所がいくつかあり、何を書いてるのかよくわからない箇所もありますね。

コードを貼る場合はシンタックスハイライトを利用するとよいですよ。
Code - コードの挿入

フォームに関するコードがあるならばそちらも記載すると参考になると思います。

あとはvar_dump()を利用して$_POSTの値がどのような状態か調べてみるのもよいと思います。

<?php
var_dump($_POST);
$staff_code = $_POST['code'];
0

Comments

  1. @FROG-BOX

    Questioner
    ありがとうございます。

Your answer might help someone💌