Остановка предложения if вместе со всем сценарием PHP, но не HTML - PullRequest
2 голосов
/ 21 февраля 2011

У меня была эта проблема около часа, и я искал ответы в Интернете. Я проверил документацию по PHP, посмотрел вокруг, погуглил, ничего.

В любом случае, моя проблема в том, что после того, как я пытаюсь что-то проверить (и это неправильно), если я использую exit; , он также остановит HTML после. Вот о чем я говорю:

if ($_POST['exampleEmail'] == "")
{
    echo "Please enter an e-mail."; //Now I want only the PHP script to stop, however...
    exit; //If I use exit, then the HTML after this script (footer) doesn't show.
}

Если кто-то может помочь, пожалуйста. Я пытался использовать break, но безрезультатно, поскольку он предназначен только для циклов и переключателей.

Если есть лучший / более правильный (или просто правильный, если это неправильный способ), пожалуйста, поделитесь. У меня была эта проблема в прошлом, и я просто использовал выход.

Спасибо.

Ответы [ 3 ]

4 голосов
/ 21 февраля 2011

Просто оберните оставшуюся часть сценария в новый блок if:

$execute = true;

// HTML here...
if (empty($_POST['exampleEmail'])) {
    echo "Please enter an e-mail.";
    $execute = false;
}
// HTML here...
if ($execute) {
    // do stuff only if execute is still true.
}
// HTML here...

Теперь, когда это работает для вас, я советую вам провести некоторое исследование по разделению презентации и вашей логики.По этой теме существует множество учебных пособий и блогов, вам просто нужно начать поиск.

2 голосов
/ 21 февраля 2011

Вы должны использовать оператор if в PHP

if ($_POST['exampleEmail'] == "")
{
    echo "Please enter an e-mail.";
    $stop_script = true; //stop the script
}
else    $stop_script = false; //or continue the script

if($stop_script === false)
{
    //php scripts
}

//html
0 голосов
/ 21 февраля 2011

Используйте взамен break http://php.net/manual/en/control-structures.break.php. Но у вас, вероятно, есть структурная проблема, если речь идет об этом сценарии использования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...