@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>
  • Вопрос задан
  • 309 просмотров
Пригласить эксперта
Ответы на вопрос 3
IceJOKER
@IceJOKER
Web/Android developer
Внешнее условие лишнее
Ответ написан
@mirosas
Чтобы else не выполнялся, но можно было легко вернуть к версии с else
Ответ написан
@morricone85
А кто этот код писал?) 2 условие лишнее
Ответ написан
Ваш ответ на вопрос

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

Войти через TM ID
Похожие вопросы
от 2 000 до 4 000 usd.
HTML Academy Санкт-Петербург
от 130 000 до 140 000 руб.
Duotek Москва
До 120 000 руб.
15 авг. 2018, в 21:18
30000 руб./за проект
15 авг. 2018, в 21:15
800 руб./за проект
15 авг. 2018, в 20:54
1500 руб./за проект