У меня есть остальная часть кода, но мне кажется, что мой оператор if для возраста, продолжает застревать и повторяет утверждение. Я вижу в var_dump, что он получил правильное значение, но он продолжает возвращаться к заявлению, в котором говорится, чтобы ввести числовое значение.Опрос, застрявший в петле
<?php
session_start();
var_dump($_SESSION);
$isValid = true;
$fullName = "";
$age = "";
$gender = "";
if (isset($_POST) && !empty($_POST))
{
if (isset($_POST['fullName']) && !empty($_POST['fullName']))
{
$_SESSION['fullName'] = $_POST['fullName'];
}
else
{
$isValid = false;
echo "Please fill in your Full Name.";
}
if (isset ($_POST['age']) && !empty($_POST['age']))
{
$_SESSION['age'] = $_POST['age'];
if (empty($_POST['age']))
{
$isValid = false;
echo "Please fill in your Age.";
}
else if(!is_numeric($age))
{
$isValid = false;
echo "Must be a numeric value.";
}
}
else
{
$isValid = true;
}
if (isset($_POST['yourGender']) && !empty($_POST['yourGender']))
{
$_SESSION['yourGender'] = $_POST['yourGender'];
}
else
{
$isValid = false;
echo"Please pick your gender";
}
if ($isValid)
{
header('Location: qp2.php');
}
}
?>
<html>
<head>
<title> Questions Page 1</title>
</head>
<body>
<form method="post" action="qp1.php">
<!--Name -->
Full Name: <input type="text" name="fullName" value="<?php echo $fullName; ?>"/><br/>
<!-- Email -->
Age: <input type="text" name="age" value="<?php echo $age; ?>"/><br/>
<br/>
<!-- How? Dropdown -->
How did you hear about us?
<select name="yourGender" value="<?php echo $gender; ?>">
<option value=""></option>
<option value="male">Male</option>
<option value="female">Female</option>
</select>
<br/>
<!-- Submit button -->
<input type="button" value="Back" onclick="location.href='index.php'"/>
<input type="submit" value="Next"/>
</form>
</body>
</html>
Может ли кто-нибудь сказать мне, что не так с моими заявлениями?
Пожалуйста, быть более конкретным указанием на какой строке вы видите неправильное состояние. – jpaljasma
'$ age = $ _POST ['age']' – aldrin27
Eugen Rieck, на самом деле помог мне решить эту проблему. Это было мое заявление else, в котором отсутствовал оператор $ _SESSION. – ryuuman123