我有一个代码,我希望它能够完成下一个任务:如果设置了所有POST变量,它会回复一些东西。如果没有,POST变量得到另一个值,然后它也回声。
问题是如果未设置变量,则新值不会回显。我只有一个空白。
你能帮我吗?
提前致谢
<?php
if (isset($_POST['nom']) AND isset($_POST['email']) AND isset($_POST['cars']) AND isset($_POST['km']))
{
echo 'Nom : ' . $_POST['nom'] . '</br>';
echo 'Email : ' . $_POST['email']. '</br>';
echo 'La marque de votre voiture est : ' .$_POST['cars'] . '</br>';
echo 'Votre kilométrage actuel est : ' . $_POST['km'] . '</br>';
}
else
{
$null='manquant';
if (!isset($_POST['nom']))
{
$_POST['nom'] = $null;
}
if (!isset($_POST['email']))
{
$_POST['email'] = $null;
}
if (!isset($_POST['cars']))
{
$_POST['cars'] = $null;
}
if (!isset($_POST['km']))
{
$_POST['km'] = $null;
}
echo 'Nom : ' . $_POST['nom'] . '</br>';
echo 'Email : ' . $_POST['email']. '</br>';
echo 'La marque de votre voiture est : ' .$_POST['cars'] . '</br>';
echo 'Votre kilométrage actuel est : ' . $_POST['km'] . '</br>';
}
?>
以下是表单代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Mon formulaire</title>
</head>
<body>
<form action="analyse.php" method="post">
<label for="nom">Votre nom : <input type="text" name="nom"> </label>
<label for="email">Votre email : <input type="email" name="email"> </label>
<label for="cars">La marque de votre voiture : </label>
<select name="cars">
<option value="Volvo">Volvo</option>
<option value="Saab">Saab</option>
<option value="Fiat">Fiat</option>
<option value="Audi">Audi</option>
</select
<label for="km">Votre kilometrage (en km) : <input type="text" name="km"></label>
<input type="submit" value="valider">
</form>
</body>
</html>
答案 0 :(得分:0)
您需要添加空白<option>
,以使其满足所有字段为空的条件。
<select name="cars">
<option value="">empty</option> <-- add this line
<option value="Volvo">Volvo</option>
此外,请将此行更改为使用!empty()
。即使提交了空字段,isset()
仍会评估为true
。
if (!empty($_POST['nom']) AND !empty($_POST['email']) AND !empty($_POST['cars']) AND !empty($_POST['km']))
和
if (empty($_POST['nom']))
{
$_POST['nom'] = $null;
}
if (empty($_POST['email']))
{
$_POST['email'] = $null;
}
if (empty($_POST['cars']))
{
$_POST['cars'] = $null;
}
if (empty($_POST['km']))
{
$_POST['km'] = $null;
}
答案 1 :(得分:0)
<?php
if (isset($_POST['nom']) AND isset($_POST['email']) AND isset($_POST['cars']) AND isset($_POST['km']))
{
echo 'Nom : ' . $_POST['nom'] . '</br>';
echo 'Email : ' . $_POST['email']. '</br>';
echo 'La marque de votre voiture est : ' .$_POST['cars'] . '</br>';
echo 'Votre kilométrage actuel est : ' . $_POST['km'] . '</br>';
}
else
{
$null='manquant';
if (empty($_POST['nom']))
{
$_POST['nom'] = $null;
}
if (empty($_POST['email']))
{
$_POST['email'] = $null;
}
if (empty($_POST['cars']))
{
$_POST['cars'] = $null;
}
if (empty($_POST['km']))
{
$_POST['km'] = $null;
}
echo 'Nom : ' . $_POST['nom'] . '</br>';
echo 'Email : ' . $_POST['email']. '</br>';
echo 'La marque de votre voiture est : ' .$_POST['cars'] . '</br>';
echo 'Votre kilométrage actuel est : ' . $_POST['km'] . '</br>';
}
?>
&#13;
你试试空吗?