Я как-то смущен насчет как работает ниже. В моей голове я представляю, как каждый блок php выполняется в целом и передается в HTML. Тот факт, что первый блок является неполным с висячей скобой, не очень хорошо сочетается с тем, как я могу представить PHP для работы. Что делает модуль PHP, когда он попадает в тег закрытия PHP? Как этот код внутри тегов PHP может влиять на вывод открытого текста вне тегов PHP, т. Е. Только условно выводит форму?PHP Условный, за которым следует Закрывающий тег
Я бы подумал, что для достижения ниже вам действительно нужно было бы использовать эхо-инструкцию для условного эхо-формы.
<html>
<head></head>
<body>
<?php
/* if the "submit" variable does not exist, the form has not been submitted - display initial page */
if (!isset($_POST['submit'])) {
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
Enter your age: <input name="age" size="2">
<input type="submit" name="submit" value="Go">
</form>
<?php
}
else {
/* if the "submit" variable exists, the form has been submitted - look for and process form data */
// display result
$age = $_POST['age'];
if ($age >= 21) {
echo 'Come on in, we have alcohol and music awaiting you!';
}
else {
echo 'You're too young for this club, come back when you're a little older';
}
}
?>
</body>
</html>
На самом деле это плохое понимание, чтобы попасть в голову. Более того - данные за пределами php-тегов не оцениваются, но все еще являются частью всех операторов потока управления. –
Возможно, перспектива писателя сценария. 10 лет назад я создал PHP-подобную среду программирования, и именно так реализован компилятор/интерпретатор. С точки зрения компилятора-писателя это довольно хорошее понимание того, как все работает. Данные оцениваются только при особых обстоятельствах, таких как двойные кавычки. Очень плохо думать, что данные оцениваются в целом, а не только в особых обстоятельствах. – Killroy