先日、PHPもくもく会に行ってきました。本でプログラミングの「写経」をしていると、本の通りにならない箇所があり、訂正方法を質問をしに行くためです。
質問したい箇所は、P.85に掲載されいている、staff_branch.phpというコードです。
訂正前のstaff_branch.php
[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);
}
}
[/php]
訂正後のstaff_branch.php
[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);
}
}
}[/php]
6~7行目の間に”else {}” を加筆してif文の「処理」を表すようにしました(5行目に”else{“を、9行目に”}”を加筆しています)。
訂正前のコードだと、スタッフリストでラジオボタンを選択せずに、ボタンを押すと、何も入っていないスタッフ情報が表示されますが、
訂正後のコードでは、スタッフの選択を促す、staff_ng.phpに遷移します。
header関数をif文の条件に使う時、処理内容を表す、“} else {” を明記しないと、条件内容を素通りするようです。
これで胸のつかえが1つ取れました。もくもく会さんありがとうございます!