Formulaire simple en php

Gariig Messages postés 199 Statut Membre -  
Gariig Messages postés 199 Statut Membre -
Bonjour,

Mon script ne marche pas... Pourant il est tres tres simple !!!! Quand je génére sur localhost, les champs s'affichent bien mais quand je remplis le formulaire je n ai pas le "Bonjour monsieur X". Bienvenue !" au bas de ma page...Pourquoi?? Merci pour votre aide !!!!!!!

Je veux afficher les valeurs du formulaire au sein même de ma page.

Voici mon script (tres tres simple !!!) :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html charset=iso-8859-1">
<meta http-equiv="content-language" content="fr">
<title>Formulaire</title>
</head>
<body>
<form action="formulaire.php" method="post">
Titre<input type="radio" name="Titre" value="m">Monsieur
<input type="radio" name="Titre" value="w">Madame<br>
Votre nom:<input type="text" name="Nom">
<input type="submit" name="envoyer" value="Envoyer les données">
</form>

<p>
<?php
if(isset($Titre) && isset($Nom) && $Nom!="") {
if ($Titre=="m") {
echo "Bonjour Monsieur";
}
else {
echo "Bonjour Madame";
}
echo "<b>$Nom</b>. Bienvenue !\n";
}
else {
if (isset($envoyer)) {
echo"Veuillez saisir tous les champs!";
}
}
?>
</p>

</body>
</html>
A voir également:

2 réponses

Gariig Messages postés 199 Statut Membre 9
 
Je ne conaissais pas encore le caractère Array des éléments de formulaire en php avec le $_POST.

C'est chose faite !!

tout fonctionne c est trop cool !

Merci Alain !
1
Alain_42 Messages postés 5413 Statut Membre 894
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html charset=iso-8859-1">
<meta http-equiv="content-language" content="fr">
<title>Formulaire</title>
</head>
<body>
<form name="form1" action="formulaire.php" method="post">
Titre<input type="radio" name="Titre" value="m">Monsieur
<input type="radio" name="Titre" value="w">Madame<br>
Votre nom:<input type="text" name="Nom">
<input type="submit" name="envoyer" value="Envoyer les données">
</form>

<p>
<?php
//il faut "récupérer" les valeurs dans la globale $_POST  
//car si la directive de php.ini RegisterGlobal est à off on ne les a pas directement comme tu as fait
if(isset($_POST['envoyer'])){//si le formulaire est posté
	//pour recup valeurs, utilisation de la methode ternaire : si variable=condition ? valeur si vrai : valeur si faux
	$Titre=isset($_POST['Titre'])? $_POST['Titre'] : "";
	$Nom=isset($_POST['Nom'])? $_POST['Nom'] : "";
	
	if($Titre !="" && $Nom!="") {
		if ($Titre=="m") {
			echo "Bonjour Monsieur ";
		}else{
			echo "Bonjour Madame ";
		}
			echo "<b>$Nom</b>. Bienvenue !\n";
	}else {
		echo"<font color='red'>Veuillez saisir tous les champs!</font>";
	}
}
?>
</p>

</body>
</html>
0