@storm-coder

Зачем условие упаковано еще в одно условие?

Здравствуйте. В этом примере кода во втором блоке php в один if упакован еще один if. Почему условный оператор не один, для чего это нужно?
<?	// обработка формы (здесь обрабатываются отправленные из формы данные):
if ($_SERVER["REQUEST_METHOD"] == "POST") {
	// Форма передавала информацию
	$name = strip_tags($_POST["name"]);
	$age = $_POST["age"] * 1;
	
	// Сохранение в cookie на сутки
	setcookie("userName", $name);
	setcookie("userAge", $age); 
	
	// Обработка формы
	// ... 
	
	// перезапрос формы методом GET
	header("Location: " . $_SERVER["PHP_SELF"]); // перезапрос этой же формы (здесь заголовок "Location: " перезапрашивается методом GET (почему GET? страницы запрашиваются методом GET))
	exit;
}
else {	// при перезапросе формы
	// Чтение куки (данные в форме сохраняются)
	$name = strip_tags($_COOKIE["userName"]);
	$age = $_COOKIE["userAge"] * 1;
}
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
	<meta charset="utf-8" />
	<title>Очистка буфера POST</title>
</head>

<body>
<h1>Очистка буфера POST</h1>
<form action="<?=$_SERVER["PHP_SELF"]?>" 
		method="post">
	Ваше имя:
	<input type="text" name="name" value="<?=$name?>"><br>
	Ваш возраст:
	<input type="text" name="age" value="<?=$age?>"><br>
	<input type="submit" value="Передать">
</form>
<?
if ($name and $age) {	
	if ($name and $age) {
		echo "<h1>Привет, $name</h1>";
		echo "<h3>Тебе $age лет</h3>";
	}
	else {
		print "<h3>Заполните все поля!</h3>";
	}
}
?>
</body>
</html>
  • Вопрос задан
  • 315 просмотров
Пригласить эксперта
Ответы на вопрос 3
@IceJOKER
Web/Android developer
Внешнее условие лишнее
Ответ написан
@mirosas
Чтобы else не выполнялся, но можно было легко вернуть к версии с else
Ответ написан
@morricone85
А кто этот код писал?) 2 условие лишнее
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
ISS Москва
До 140 000 руб.
ООО РК Роял Набережные Челны
от 35 000 до 50 000 руб.
Involta Иваново
от 40 000 руб.
20 февр. 2019, в 10:05
1800 руб./за проект
20 февр. 2019, в 09:00
1500 руб./за проект
20 февр. 2019, в 08:11
8000 руб./за проект