1. TOPTOP
  2. Webサービス
  3. PHP

PHPもくもく会に行ってきたよ!~気がつけばプロ並みPHP

|

PHPもくもく会

PHPもくもく会

先日、PHPもくもく会(新しいタブで開く)に行ってきました。本でプログラミングの「写経」をしていると、本の通りにならない箇所があり、訂正方法を質問をしに行くためです。

質問したい箇所は、P.85に掲載されいている、staff_branch.phpというコードです。

訂正前のstaff_branch.php

if (isset($_POST['disp']) == true) {

if(isset($_POST['staffcode']) == false) {
header('Location: staff_ng.php');
}
$staff_code = $_POST['staffcode'];
header('Location: staff_disp.php?staffcode='.$staff_code);
}

}

訂正後のstaff_branch.php

if (isset($_POST['disp']) == true) {

if(isset($_POST['staffcode']) == false) {
header('Location: staff_ng.php');
} else {
$staff_code = $_POST['staffcode'];
header('Location: staff_disp.php?staffcode='.$staff_code);
}
}

}

6~7行目の間に”else {}” を加筆してif文の「処理」を表すようにしました(5行目に”else{“を、9行目に”}”を加筆しています)。

訂正前のコードだと、スタッフリストでラジオボタンを選択せずに、ボタンを押すと、何も入っていないスタッフ情報が表示されますが、

スタッフリスト選択画面

スタッフリスト選択画面

エラーの画面

エラーの画面

訂正後のコードでは、スタッフの選択を促す、staff_ng.phpに遷移します。

スタッフリスト選択画面

スタッフリスト選択画面

正しい画面

正しい画面

header関数をif文の条件に使う時、処理内容を表す、“} else {” を明記しないと、条件内容を素通りするようです。

これで胸のつかえが1つ取れました。もくもく会(新しいタブで開く)さんありがとうございます!