PHP发布变量错误

问题描述 投票:0回答:2

我有一个代码,我希望它可以执行下一个任务:如果设置了所有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>
php post echo
2个回答
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;
}

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>';
	}
?>

你试试空吗?

© www.soinside.com 2019 - 2024. All rights reserved.