各フィールドの入力を順番にチェックする Web サイトの登録スクリプト (合計で 9 つ) を書いてい"{//9"
ます"}// close9"
。
ただし、いずれかのチェックが失敗した場合、スクリプトは変数に「失敗」の値を割り当てることになっているため$GLOBALS['fail']
、ページの下部に「登録に失敗しました」というエコーが返されます。
しかし、$GLOBALS['fail']
変数に値が割り当てられていても、 passed
「登録に失敗しました」というメッセージが表示され、すべて試しても停止しません。
関数が呼び出される直前にecho $GLOBALS['fail'];
割り当てられた値を確認するために入力しました。if($GLOBALS['fail'] = "failed")
以下はコードです:
<?php
//first visit
if(isset($_POST['submit']))
{//first visit
if(isset($_POST['firstname'])&&(!empty($_POST['firstname'])))
{//1
$firstname = $_POST['firstname'];
echo $firstname . "<br/>";
if(isset($_POST['surname'])&&(!empty($_POST['surname'])))
{//2
$surname = $_POST['surname'];
echo $surname. "<br/>";
if(isset($_POST['username'])&&(!empty($_POST['username'])))
{//3
$username = $_POST['username'];
echo $username. "<br/>";
if(isset($_POST['password1'])&&(!empty($_POST['password1'])))
{//4
$pass1 = $_POST['password1'];
echo $pass1. "<br/>";
if(isset($_POST['password2'])&&(!empty($_POST['password2'])))
{//5
$pass2 = $_POST['password2'];
echo $pass2. "<br/>";
if(isset($_POST['day'])&&(!empty($_POST['day'])))
{//6
$day = $_POST['day'];
echo $day. "<br/>";
if(isset($_POST['month'])&&(!empty($_POST['month'])))
{//7
$month = $_POST['month'];
echo $month. "<br/>";
if(isset($_POST['year'])&&(!empty($_POST['year'])))
{//8
$year = $_POST['year'];
echo $year. "<br/>";
if(isset($_POST['email'])&&(!empty($_POST['email'])))
{//9
$email = $_POST['email'];
echo $email. "<br/>" ."well done";
$GLOBALS['fail'] = "passed";
echo $GLOBALS['fail'];
} //close9
else {$GLOBALS['fail']="failed"; echo "Please fill in <b>All</b> fields " ;}
} //close8
else {$GLOBALS['fail']="failed"; echo "Please fill in <b>All</b> fields " ;}
} //close7
else {$GLOBALS['fail']="failed"; echo "Please fill in <b>All</b> fields " ;}
} //close6
else {$GLOBALS['fail']="failed"; echo "Please fill in <b>All</b> fields " ;}
} //close5
else {$GLOBALS['fail']="failed"; echo "Please fill in <b>All</b> fields " ;}
} //close4
else {$GLOBALS['fail']="failed"; echo "Please fill in <b>All</b> fields " ;}
} //close3
else {$GLOBALS['fail']="failed"; echo "Please fill in <b>All</b> fields " ;}
} //close2
else {$GLOBALS['fail']="failed"; echo "Please fill in <b>All</b> fields " ;}
} //close1
else {$GLOBALS['fail']="failed"; echo "Please fill in <b>All</b> fields " ;}
} //firstvisit
else echo "stupidity";
echo $GLOBALS['fail'];
if(isset($GLOBALS['fail'])){
if($GLOBALS['fail']="failed"){
echo "registration failed";
}
else echo $GLOBALS['fail'];
}
else echo "no fail set";
?>
登録を押してフォーム全体が完成したときの画面の出力はよくできていますpassedpassedregistration failed
誰でも私を助けてもらえますか?