<?php setlocale(LC_ALL, "Rus"); ?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Practice</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<form action="" method="post">
<label>Name: </label> <input type="text" name="fname"><?php echo "$fnameErr";?><br><br>
<label>Surname: </label><input type="text" name="lname"><?php echo $lnameErr; ?><br><br>
<label>Age:</label><input type="text" name="age" ><?php echo $ageErr;?><br><br>
<label>E-mail:</label><input type="text"><?php echo $emailErr;?><br><br>
<label>Gander: </label><br><br>
<label>Male</label><input type="radio" name="gander" value="Male">
<label>Female</label><input type="radio" name="gander" value="Female"><?php echo $ganderErr;?>
<input type="submit"><br>
</form>
<?php
$fnameErr = $lnameErr = $ageErr = $emailErr = $genderErr = "";
$fname = $lname = $age = $email = $gender = "";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if (empty($_POST["fname"])) {
$fnameErr = "Вы не ввели имя";
} else {
$fname = $_POST["fname"] ;
}
if (empty($_POST["$lname"])) {
$lnameErr = "Вы не ввели фамилию";
} else {
echo $lname = $_POST["$lname"];
}
if (empty($_POST["$age"])) {
$ageErr = "Вы не ввели возраст";
} else {
echo $age = $_POST["$age"];
}
if (empty($_POST["$email"])) {
$emailErr = "Вы не ввели эмаил";
} else {
echo $email = $_POST["$email"];
}
if (empty($_POST["$gander"])) {
$ganderErr = "Вы не ввели пол";
} else {
echo $gander = $_POST["$gander"];
}
}
echo "<p>$fname</p> ";
echo "<p>$lname</p>";
echo "<p>$age</p>";
echo "<p>$email</p>";
echo "<p>$gander</p>";
?>
<script type="text/javascript" src="script.js"></script>
</body>
</html>
В чем проблема, уже сижу полчаса и не могу понять в чем я допустил ошибку.
У вас в коде много странного.
Для начала уберите все символы $ из проверок типа if (empty($_POST["$age"])) {. Корректно у вас обрабатывается только if (empty($_POST["fname"])) {
Вот в этих конструкциях вы чего добиться хотели? echo $gander = $_POST["$gander"]; (кстати тут тоже надо заменить на $_POST["gander"]). Ну и правильно все же писать gender, а не gander. gander переводится как глупец, а мне кажется, что вы все же спрашиваете про пол.
Сообщения об ошибках у вас не появляются потому, что вы их пытаетесь выводить раньше, чем определили. У вас сначала идет, например <?php echo $lnameErr; ?>, но сама переменная $lnameErr задается гораздо ниже, в строке $lnameErr = "Вы не ввели фамилию";
по факту, у вас на момент распечатывания значения переменных они все, кроме $fname равны пустым строкам
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости