0

exit()の代わりに使用できる他のコマンドはありますか?phpで。

条件が満たされない場合やスクリプトを終了する必要がある場合は、ページの最後でHTMLコードが破損するためです。

または、誰かがこの問題を解決するための他のアイデアを持っている場合は???

ありがとう

アップデート:

html code...

<?php
if username is not in correct format
echo "Please check your username";
exit();

if Username and Password didn't match
echo "Wrong Username or Password.";
exit();

if some other condition not met
echo "Condition not met";
exit();
?>

html code continues...

ここで問題となるのは、条件のいずれかが満たされず、スクリプトを終了する必要がある場合、その下のhtmlコード(Webページ全体)が表示されないことです...

そしてお願いします...私はコンピューターオタクではないので、問題があったので質問しましたが、なぜ人々は質問に反対票を投じますか?わからない…。

4

2 に答える 2

3

おそらく、コードをifステートメントにラップする必要があります。

<?php
    if($code == 'ok'){
        echo 'ok';
    } else {
        echo 'not ok';
    }
?>

スクリプトは必要ありませんexit()。必要な場所に、必要な方法でステートメントを追加できます。

于 2012-08-25T12:02:19.253 に答える
0

名前が示すように、PHPexit()ステートメントはPHPスクリプトをその場で終了させ、他には何もしません。残りのコードの処理を続行する場合は、を使用しないでくださいexit()

あなたのコードを見ると、あなたが目指しているように見えるのは、ユーザーにエラーを表示し、次に(私は推測する)彼らが間違って入力したフォームを再表示することです。

エラーを見つけたらすぐにエコーするのではなく、変数に格納して、HTMLの適切な場所に表示できるようにしてみませんか?最も基本的なスクリプトでさえ、少し基本的なコード構造の恩恵を受けることができます。

例として(そして、これはこの種のものの1つの真のパターンではないことを強調します)、ファイルを次のように配置できます。

if ( /* form has been submitted */ )
{
     $errors = validate_form();
     if ( count($errors) > 0 )
     {
         display_form($errors);
     }
     else
     {
         display_success_message();
     }
}
else
{
     display_form();
}

function validate_form()
{
     $errors = array();

     // Series of if conditions, each adding a message to $errors if appropriate

     return $errors;
}

function display_form($errors=array())
{
     // HTML <ul> list displaying the contents of $errors, if any
     // HTML for form
}

function display_success_message()
{
     // HTML thanking user for a successful form submission
}
于 2012-08-25T13:51:02.237 に答える