Afficher un itinéraire selon le choix de l'utilisateur PHP

Fermé
Nb3033 Messages postés 8 Date d'inscription lundi 10 janvier 2022 Statut Membre Dernière intervention 1 février 2022 - 10 janv. 2022 à 15:45
Nb3033 Messages postés 8 Date d'inscription lundi 10 janvier 2022 Statut Membre Dernière intervention 1 février 2022 - 1 févr. 2022 à 16:04
Bonjour,

Je vous écris car je suis entrain de faire un exercice et j'aimerais afficher avec PHP un itinéraire selon la ville que choisit l'utilisateur parmi une liste de ville d'un formulaire.
J'ai essayé plein de méthode mais je n'y arrive pas. :(
Pouvez vous m'aider svp ? :))
Bonne journée
Voici le code :
  <?php
if (isset($_GET['validation']))
{
if
(
(empty($_GET['prenom'])) OR (empty($_GET['nom'])) OR (empty($_GET['email'])) OR (empty($_GET['telephone']))
)
{
echo 'Merci de bien vouloir remplir tout les champs';
}
else
{
$prenom = $_GET['prenom'];
$nom = $_GET['nom'];
$email = $_GET['email'];
$telephone = $_GET['telephone'];

echo 'Votre prénom est : ' . $prenom . '</br>';
echo 'Votre nom est : ' . $nom . '</br>';
echo 'Votre email est : ' . $email . '</br>';
echo 'Votre numéro de téléphone est : ' . $telephone . '</br>';
print_r ($_GET);
}
}
?>


<!-- HTML -->
<form action="index.php" method="get">
<label for="prenom">Votre prénom</label>
<input type="text" id="prenom" name="prenom" placeholder="Prénom"></br>

<label for="nom">Votre nom</label>
<input type="text" id="nom" name="nom" placeholder="Nom"></br>

<label for="email">Votre email</label>
<input type="email" id="email" name="email" placeholder="Email"></br>

<label foe="telephone">Votre téléphone</label>
<input type="tel" id="telephone" name="telephone" placeholder="Numéro"></br>

<fieldset>
<legend>Sélection ville de départ</legend>
<select name="ville">
<option>Paris
<option>Orléans
<option>Dublins
<option>Nice
<option>Tours
</select>
<br/>
</fieldset>
<input type="submit" name="validation" placeholder="Rechercher">

</form>
A voir également:

9 réponses

jee pee Messages postés 39676 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 1 mai 2024 9 248
Modifié le 10 janv. 2022 à 17:20
Bonjour,

Tu n'as pas précisé quel est ton soucis ? Que le formulaire s'affiche encore quand les réponses sont correctement données ? Si c'est cela il faut que le formulaire soit affiché sur une condition. Comme :
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<?php
if (isset($_GET['validation']))
{
  if ( (!empty($_GET['prenom'])) AND (!empty($_GET['nom'])) AND (!empty($_GET['email'])) AND (!empty($_GET['telephone'])) )
  {
     $prenom = $_GET['prenom'];
     $nom = $_GET['nom'];
     $email = $_GET['email'];
     $telephone = $_GET['telephone'];
     echo 'Votre prénom est : ' . $prenom . '</br>';
     echo 'Votre nom est : ' . $nom . '</br>';
     echo 'Votre email est : ' . $email . '</br>';
     echo 'Votre numéro de téléphone est : ' . $telephone . '</br>';
     print_r ($_GET);       
  }
  else
  {
     $anomalie = 'Merci de bien vouloir remplir tout les champs';
  }
} 

if ((!isset($_GET['validation'])) OR (isset($anomalie)) )
{
   if (isset($anomalie)) {echo $anomalie;}
  
?>
   <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="get">
   <label for="prenom">Votre prénom</label>
   <input type="text" id="prenom" name="prenom" placeholder="Prénom"></br>
  
   <label for="nom">Votre nom</label>
   <input type="text" id="nom" name="nom" placeholder="Nom"></br>

   <label for="email">Votre email</label>      
   <input type="email" id="email" name="email" placeholder="Email"></br>
  
   <label foe="telephone">Votre téléphone</label>
   <input type="tel" id="telephone" name="telephone" placeholder="Numéro"></br>
  
   <fieldset>
   <legend>Sélection ville de départ</legend>
   <select name="ville">
   <option>Paris
   <option>Orléans
   <option>Dublins
   <option>Nice
   <option>Tours
   </select>
   </fieldset>

   <input type="submit" name="validation" placeholder="Rechercher">
   </form>
   
<?php
}
?>
</body>
</html> 


PS : on peut choisir le type du code (php, html, ..) sur la liste présente sur l'icone <code> pour avoir une coloration syntaxique

0
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
10 janv. 2022 à 17:21
Bonjour,

Un itinéraire vers où ?
Sous quel forme veux tu afficher l'itinéraire ?
Quelles sont les méthodes essayées et pourquoi tu n'y arrivais pas ?
0
Nb3033 Messages postés 8 Date d'inscription lundi 10 janvier 2022 Statut Membre Dernière intervention 1 février 2022
10 janv. 2022 à 17:54
Pour être plus clair, le formulaire de l'exercice est un formulaire d'un site de covoiturage.
Il est demandé dans l'exercice d'afficher différents itinéraires de voyage en fonction de la ville de départ choisit par l'utilisateur
 <legend>Sélection ville de départ</legend>
<select name="ville">
<option>Paris
<option>Orléans
<option>Dublins
<option>Nice
<option>Tours
</select>

J'ai donc essayé d'utiliser des conditions en PHP (if, else) mais cela ne marche pas car je n'arrive pas à cibler les différentes villes de la liste qui sont si j'ai bien compris des variables externes.
Ce que j'aimerais donc faire est ceci : (exemple) Si l'utilisateur sectionne Paris, alors l'itinéraire Paris - Marseille s'affichera
Merci
0
jee pee Messages postés 39676 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 1 mai 2024 9 248
10 janv. 2022 à 18:24
pourquoi Marseille ???

sinon il suffit de faire
     $ville = $_GET['ville'];
	 if ($ville == 'Paris') {echo 'Paris-Marseille';}    
0
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
10 janv. 2022 à 18:31
Il faut fermer correctement les balises option avec </option> et il faut surtout leur ajouter un attribut value car c'est la valeur de cet attribut qui sera envoyée au script PHP à la soumission du formulaire :
<select name="ville">
    <option value="Paris">Paris</option>
    <option value="Orléans">Orléans</option>
    <option value="Dublins">Dublins</option>
    <option value="Nice">Nice</option>
    <option value="Tours">Tours</option>
</select>


Puisque le menu déroulant pour choisir la ville s'appelle "ville" (<select name="ville">) et que le formulaire utilise la méthode GET, tu peux donc, coté PHP, récupérer la ville choisie avec la variable $_GET['ville'] :
if (!empty($_GET['ville'])) {
    echo 'Ville de départ ' . $_GET['ville'];
}
0
Nb3033 Messages postés 8 Date d'inscription lundi 10 janvier 2022 Statut Membre Dernière intervention 1 février 2022
Modifié le 13 janv. 2022 à 16:31
Bonjour,
Merci pour vos réponses
Je rencontre cependant un message d'erreur qui m'indique que mon index ville n'est pas définit ($ville = $_GET['ville']).
Je ne comprend pas d'où vient l'erreur sachant que j'ai justement définit à quoi correspond '$ville'
ps: Je débute en PHP :))
  if (!isset($_GET['ville'])) 
    {
   <bold>    $ville = $_GET['ville'];</bold>
    if ($ville=='Paris')
    {
     
    echo "'id' => 0, ['departure' => 'Paris', 'arrival' => 'Nantes', 'departuTime' => '11:00', 'arrivalTime'=> '12:34', 'driver'=>'Thomas'], </br>";
    echo "'id' => 3, ['departure' => 'Paris', 'Orléans' => 'Nantes', 'departuTime' => '03:00', 'arrivalTime'=> '05:26', 'driver'=>'Clément'], </br>";
    echo "'id' => 4, ['departure' => 'Paris', 'arrival' => 'Nice', 'departuTime' => '10:00', 'arrivalTime'=> '12:09', 'driver'=>'Audrey'],  </br>";
    }
    elseif ($ville=='Orléans')
    {
     
    echo "'id' => 1, ['departure' => 'Orléans', 'arrival' => 'Nantes', 'departuTime' => '05:15', 'arrivalTime'=> '09:32', 'driver'=>'Mathieu'], </br>";
    }
    elseif ($ville=='Dublin')
    {
     
    echo "'id' => 2, ['departure' => 'Dublin', 'arrival' => 'Tours', 'departuTime' => '07:23', 'arrivalTime'=> '08:50', 'driver'=>'Nathannaël'], </br>";
    }
    elseif ($ville=='Nice')
    {
     
    echo "'id' => 5, ['departure' => 'Nice', 'arrival' => 'Nantes', 'departuTime' => '10:40', 'arrivalTime'=> '12:09', 'driver'=>'Audrey'], </br>";
    echo "'id' => 6, ['departure' => 'Nice', 'arrival' => 'Tours', 'departuTime' => '11:00', 'arrivalTime'=> '13:00', 'driver'=>'Pollux'], </br>";
    echo "'id' => 8, ['departure' => 'Nice', 'arrival' => 'Nantes', 'departuTime' => '12:00', 'arrivalTime'=> '16:00', 'driver'=>'Charlotte'], </br>";
    }
    elseif ($ville=='Tours')
    {
     
    echo "'id' => 7, ['departure' => 'Tours', 'arrival' => 'Amboise', 'departuTime' => '16:00', 'arrivalTime'=> '18:40', 'driver'=>'Priscilla'],";
    }
    }

Désolé pour l'absence de couleur, j'ai sélectionné PHP sur la colonne mais ça ne fonctionne pas
0
jee pee Messages postés 39676 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 1 mai 2024 9 248 > Nb3033 Messages postés 8 Date d'inscription lundi 10 janvier 2022 Statut Membre Dernière intervention 1 février 2022
Modifié le 13 janv. 2022 à 16:31
Il nous faudrait tout ton code. As-tu pris en compte la remarque de Pitet sur la liste de valeur ?

Pour la coloration syntaxique, il faut un peu d'habitude, selectionner le code, puis dans la liste de valeur selectionner son type. Tu peux corriger à la main, sur la première balise mettre <code php>, je l'ai effectué sur ton message.
0
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524 > jee pee Messages postés 39676 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 1 mai 2024
13 janv. 2022 à 17:21
D'après le code modifié dans ton commentaire, il semble que tu as juste inversé la condition dans le premier if :
if (!isset($_GET['ville'])) // si le paramètre d'url 'ville' n'est pas défini 
{
    $ville = $_GET['ville']; // on affecte le paramètre d'url 'ville' dans la variable $ville

-> Le code n'est pas correct puisqu'on récupère la ville alors que celle-ci n'existe pas (!isset)

Il faut donc simplement inverser la condition en supprimant l'opérateur Not "!" dans le if :
if (isset($_GET['ville'])) // si le paramètre d'url 'ville' est défini 
{
    $ville = $_GET['ville']; // on affecte le paramètre d'url 'ville' dans la variable $ville
0
jee pee Messages postés 39676 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 1 mai 2024 9 248 > Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022
13 janv. 2022 à 17:42
Bien vu.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Nb3033 Messages postés 8 Date d'inscription lundi 10 janvier 2022 Statut Membre Dernière intervention 1 février 2022
17 janv. 2022 à 15:03
Parfait ça marche !!
Merci pour votre aide :))
J'aurais juste une dernière question, je n'arrive pas à relier mon fichier .css avec mon ficher .php alors
que les 2 fichiers sont dans le meme dossier et le nom du fichier css est correcte

<!DOCTYPE html>
<html>
    <head>
	      <title>Formulaire PHP</title>
		  <meta charset="utf-8"/>
		  <link href="php.css" rel="stylesheet" type="text/css"/>
	</head>
	<body>
	       <?php
		        if  (isset($_GET['validation']))
				{
				if 
				(
				  (empty($_GET['prenom'])) OR (empty($_GET['nom'])) OR (empty($_GET['email'])) OR (empty($_GET['telephone']))
				)
				{
					  echo 'Merci de bien vouloir remplir tout les champs';
				}
				else
				{
			    $prenom = $_GET['prenom'];
				$nom = $_GET['nom'];
				$email = $_GET['email'];
				$telephone = $_GET['telephone'];
				 
			    echo 'Votre prénom est : ' . $prenom . '</br>';
			    echo 'Votre nom est : ' . $nom . '</br>';
				echo 'Votre email est : ' . $email . '</br>';
				echo 'Votre numéro de téléphone est : ' . $telephone . '</br>';
			    }
				}	
				
				
			    if (isset($_GET['ville'])) 
				{
			    $ville = $_GET['ville'];
				if ($ville=='Paris')
				{
					
				echo "'id' => 0, ['departure' => 'Paris', 'arrival' => 'Nantes', 'departuTime' => '11:00', 'arrivalTime'=> '12:34', 'driver'=>'Thomas'], </br>";
				echo "'id' => 3, ['departure' => 'Paris', 'Orléans' => 'Nantes', 'departuTime' => '03:00', 'arrivalTime'=> '05:26', 'driver'=>'Clément'], </br>";
				echo "'id' => 4, ['departure' => 'Paris', 'arrival' => 'Nice', 'departuTime' => '10:00', 'arrivalTime'=> '12:09', 'driver'=>'Audrey'],  </br>";
				}
				elseif ($ville=='Orléans')
				{
					
				echo "'id' => 1, ['departure' => 'Orléans', 'arrival' => 'Nantes', 'departuTime' => '05:15', 'arrivalTime'=> '09:32', 'driver'=>'Mathieu'], </br>";
				}
				elseif ($ville=='Dublin')
				{
					
				echo "'id' => 2, ['departure' => 'Dublin', 'arrival' => 'Tours', 'departuTime' => '07:23', 'arrivalTime'=> '08:50', 'driver'=>'Nathannaël'], </br>";
				}
				elseif ($ville=='Nice')
				{
					
				echo "'id' => 5, ['departure' => 'Nice', 'arrival' => 'Nantes', 'departuTime' => '10:40', 'arrivalTime'=> '12:09', 'driver'=>'Audrey'], </br>";
				echo "'id' => 6, ['departure' => 'Nice', 'arrival' => 'Tours', 'departuTime' => '11:00', 'arrivalTime'=> '13:00', 'driver'=>'Pollux'], </br>";
				echo "'id' => 8, ['departure' => 'Nice', 'arrival' => 'Nantes', 'departuTime' => '12:00', 'arrivalTime'=> '16:00', 'driver'=>'Charlotte'], </br>";
				}
				elseif ($ville=='Tours')
				{
					
				echo "'id' => 7, ['departure' => 'Tours', 'arrival' => 'Amboise', 'departuTime' => '16:00', 'arrivalTime'=> '18:40', 'driver'=>'Priscilla'],";
				
				}
				exit;
				}
				
				?>
			
				
		      <form action="index.php" method="get">
		      <label for="prenom">Votre prénom</label>
	          <input type="text" id="prenom" name="prenom" placeholder="Prénom"></br>
			   
			   <label for="nom">Votre nom</label>
		       <input type="text" id="nom" name="nom" placeholder="Nom"></br>

                <label for="email">Votre email</label>			   
		        <input type="email" id="email" name="email" placeholder="Email"></br>
				
				<label for="telephone">Votre téléphone</label>
		        <input type="tel" id="telephone" name="telephone" placeholder="Numéro"></br>
		   
		   <fieldset>
		       <legend>Sélection ville de départ</legend>
			   <select name="ville">
		       <option value='Paris'>Paris</option>
			   <option value='Orléans'>Orléans</option>
			   <option value='Dublin'>Dublins</option>
			   <option value='Nice'>Nice</option>
			   <option vale='Tours'>Tours</option>
		       </select>
		   <br/>
		   </fieldset>
		   <input type="submit" name="validation" placeholder="Rechercher">
		   
		   </form>
		 
	</body>
</html>
0
jee pee Messages postés 39676 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 1 mai 2024 9 248
17 janv. 2022 à 16:38
Chez moi ton source avec un css fonctionne. Tu es sur de ta syntaxe en css ? Et son nom, sous linux Php.css n'est pas trouvé avec php.css

Le traitement des champs incomplets n'est pas terrible
0
jee pee Messages postés 39676 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 1 mai 2024 9 248
Modifié le 17 janv. 2022 à 17:00
ou on dirait que php.css soit un nom problématique

mets tout simplement style.css
0
Nb3033 Messages postés 8 Date d'inscription lundi 10 janvier 2022 Statut Membre Dernière intervention 1 février 2022
17 janv. 2022 à 17:55
En effet c'est bien le php.css qui poser problème merci
Concernant le traitement des champs incomplets il faudrait que je soit plus précis dans ma syntaxe ?
0
jee pee Messages postés 39676 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 1 mai 2024 9 248
17 janv. 2022 à 18:32
si tous les champs ne sont pas renseignés, tu affiches des itinéraire et pas le formulaire pour refaire la saisie complète
0
Nb3033 Messages postés 8 Date d'inscription lundi 10 janvier 2022 Statut Membre Dernière intervention 1 février 2022
31 janv. 2022 à 16:12
Bonjour,

Je rencontre un dernier souci concernant mon formulaire.
Lorsque que je valide mon formulaire sans avoir remplis les différents champs, le message d'erreur s'affiche mais aussi les itinéraires qui eux ne doivent s'afficher uniquement lorsque tout les champs sont remplis.
Comment régler ce problème svp ?
Merci








 <?php
		        if  (isset($_GET['validation']))
				{
				if 
				(
				  (empty($_GET['prenom'])) OR (empty($_GET['nom'])) OR (empty($_GET['email'])) OR (empty($_GET['telephone']))
				)
				{
					  echo 'Merci de bien vouloir remplir tout les champs';
				}
				else
				{
			    $prenom = $_GET['prenom'];
				$nom = $_GET['nom'];
				$email = $_GET['email'];
				$telephone = $_GET['telephone'];
				
				echo '<div id="container2">';
                echo '<div id="echo">';	
                echo '<h2 id="p1">Vérifier vos information !</h2>' . '</br>';	
				
			    echo '<div id="prenom-get" class="position-get">Votre prénom est : ' . $prenom . '</br>';
				echo '</div>';
				
			    echo '<div id="nom-get" class="position-get" class="clear">Votre nom est : ' . $nom . '</br>';
				echo '</div>';
				
				echo '<div id="email-get" class="position-get">Votre email est : ' . $email . '</br>';
				echo '</div>';
				
				echo '<div id="tel-get" class="position-get">Votre téléphone est : ' . $telephone . '</br>';
				echo '</div>';
				
				echo '</div>';
			    }
				}	
				
				
				
			    if (isset($_GET['ville'])) 
				{
			    $ville = $_GET['ville'];
				if ($ville=='Paris')
				{
				echo '<span class="départ">Ville de départ séléctionnée : </span> <span class="ville-séléctionnée"> Paris </span> </br>';
				echo '<div class="itinéraire">';
			    echo '<p class="p1">Voici les différents itinéraires en départ de Paris </p> </br>';	
				echo '<div class="déstination">';
				
				echo "'id' => 0, ['departure' => 'Paris', 'arrival' => 'Nantes', 'departuTime' => '11:00', 'arrivalTime'=> '12:34', 'driver'=>'Thomas'], </br>";
				echo "'id' => 3, ['departure' => 'Paris', 'Orléans' => 'Nantes', 'departuTime' => '03:00', 'arrivalTime'=> '05:26', 'driver'=>'Clément'], </br>";
				echo "'id' => 4, ['departure' => 'Paris', 'arrival' => 'Nice', 'departuTime' => '10:00', 'arrivalTime'=> '12:09', 'driver'=>'Audrey'],  </br>";
				
				echo '</div>';
				echo '</div>';
				}
				
				
				elseif ($ville=='Orléans')
				{
				echo '<span class="départ">Ville de départ séléctionnée : </span> <span class="ville-séléctionnée"> Orléans </span> </br>';
				echo '<div class="itinéraire">';
			    echo '<p class="p1">Voici l\'itinéraire en départ d\'orléans </p>' . '</br>';	
                echo '<div class="déstination">';
				
				echo "'id' => 1, ['departure' => 'Orléans', 'arrival' => 'Nantes', 'departuTime' => '05:15', 'arrivalTime'=> '09:32', 'driver'=>'Mathieu'], </br>";
				
				echo '</div>';
				echo '</div>';
				}
				
				
				elseif ($ville=='Dublin')
				{
				echo '<span class="départ">Ville de départ séléctionnée : </span> <span class="ville-séléctionnée"> Dublin </span> </br>';
				echo '<div class="itinéraire">';
			    echo '<p class="p1">Voici l\'itinéraire en départ de Dublin </p>' . '</br>';	
				echo '<div class="déstination">';
				
				echo "'id' => 2, ['departure' => 'Dublin', 'arrival' => 'Tours', 'departuTime' => '07:23', 'arrivalTime'=> '08:50', 'driver'=>'Nathannaël'], </br>";
				echo '</div>';
				echo '</div>';
				}
				
				
				elseif ($ville=='Nice')
				{
				echo '<span class="départ">Ville de départ séléctionnée : </span> <span class="ville-séléctionnée"> Nice </span> </br>';
				echo '<div class="itinéraire">';
			    echo '<p class="p1">Voici les différents itinéraires en départ de Nice</p>' . '</br>';	
				echo '<div class="déstination">';
				
				echo "'id' => 5, ['departure' => 'Nice', 'arrival' => 'Nantes', 'departuTime' => '10:40', 'arrivalTime'=> '12:09', 'driver'=>'Audrey'], </br>";
				echo "'id' => 6, ['departure' => 'Nice', 'arrival' => 'Tours', 'departuTime' => '11:00', 'arrivalTime'=> '13:00', 'driver'=>'Pollux'], </br>";
				echo "'id' => 8, ['departure' => 'Nice', 'arrival' => 'Nantes', 'departuTime' => '12:00', 'arrivalTime'=> '16:00', 'driver'=>'Charlotte'], </br>";
				echo '</div>';
				echo '</div>';
				}
				
				
				elseif ($ville=='Tours')
				{
				echo '<span class="départ">Ville de départ séléctionnée : </span> <span class="ville-séléctionnée"> Tours </span> </br>';
				echo '<div class="itinéraire">';
			    echo '<p class="p1">Voici l\'itinéraires en départ de Tours </p>' . '</br>';	
				echo '<div class="déstination">';
				
				echo "'id' => 7, ['departure' => 'Tours', 'arrival' => 'Amboise', 'departuTime' => '16:00', 'arrivalTime'=> '18:40', 'driver'=>'Priscilla'],";
				echo '</div>';
				echo '</div>';
				}
				exit;
				}
				
				?>
			
		   <div class="container">
		      
		      <form action="index.php" method="get">
			  <h2>Inscrivez-vous !</h2>
			  <p>Remplissez ce formulaire</p>
		      <label for="prenom"></label>
	          <input type="text" id="prenom" name="prenom" placeholder="Votre prénom"></br>
			   
			   <label for="nom"></label>
		       <input type="text" id="nom" name="nom" placeholder="Votre nom"></br>

                <label for="email"></label>			   
		        <input type="email" id="email" name="email" placeholder="Votre adresse mail"></br>
				
				<label for="telephone"></label>
		        <input type="tel" id="telephone" name="telephone" placeholder="Votre téléphone"></br>
		   
		   <fieldset>
		       <legend>Sélection ville de départ</legend>
			   <select name="ville">
		       <option value='Paris'>Paris</option>
			   <option value='Orléans'>Orléans</option>
			   <option value='Dublin'>Dublins</option>
			   <option value='Nice'>Nice</option>
			   <option vale='Tours'>Tours</option>
		       </select>
		   <br/>
		   </fieldset>
		   <input type="submit" name="validation" placeholder="Rechercher">
		   
		   </form>
		   
		 </div>
		 
	</body>
</html>
0
jee pee Messages postés 39676 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 1 mai 2024 9 248
31 janv. 2022 à 16:18
pour mémoire je t'avais proposé une solution qui gérais le message d'anomalie et l'affichage du formulaire sous condition : https://forums.commentcamarche.net/forum/affich-37485024-afficher-un-itineraire-selon-le-choix-de-l-utilisateur-php#1
0
Justement j'avais corrigé mon code avec les differentes solutions qu'on ma proposé
Cependant je ne comprends pas pourquoi l'itinéraire s'affiche lorsque tout les champs du formulaire ne sont pas remplit.
La condition dit de n'afficher que le message d'erreur quand un ou tout les champs sont vide

if  (isset($_GET['validation']))
				{
				if 
				(
				  (empty($_GET['prenom'])) OR (empty($_GET['nom'])) OR (empty($_GET['email'])) OR (empty($_GET['telephone']))
				)
				{
					  echo 'Merci de bien vouloir remplir tout les champs';
				}
0
jordane45 Messages postés 38151 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 2 mai 2024 4 652
31 janv. 2022 à 16:51
Bonjour,

Tu fermes ton IF trop top....
Il manque un ELSE dans lequel devrait se trouver le reste de ton code php...



PS: la norme PSR du PHP prévoit que l'écriture du IF / ELSE se fasse comme ceci
if(condition) {

} else {

}
  • avec les accolades sur la même ligne que le if et le else ..


ça rendrait ton code un peu plus lisible.
0
Nb3033 Messages postés 8 Date d'inscription lundi 10 janvier 2022 Statut Membre Dernière intervention 1 février 2022 > jordane45 Messages postés 38151 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 2 mai 2024
1 févr. 2022 à 14:25
Bonjour,
Merci pour ton message
J'ai bien utilisé le else (voir deux messages plus haut) j'ai posté cela simplement pour montrer la condition que j'ai utilisé.
Si tu as une idée d'où peut bien venir le problème que je cite deux messages plus haut je suis preneur :)
Merci.
0
jordane45 Messages postés 38151 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 2 mai 2024 4 652 > Nb3033 Messages postés 8 Date d'inscription lundi 10 janvier 2022 Statut Membre Dernière intervention 1 février 2022
1 févr. 2022 à 15:08
Tu n'as pas bien lu ma réponse ..... je ne t'ai pas dit que tu n'avais pas utilisé de else .. je te fais remarqué que tu l'as mal écrit ... et que tu as mis ton accolade fermante trop top par rapport au reste du code.
0
Nb3033 Messages postés 8 Date d'inscription lundi 10 janvier 2022 Statut Membre Dernière intervention 1 février 2022 > jordane45 Messages postés 38151 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 2 mai 2024
1 févr. 2022 à 16:04
Pour l'accolade fermante de mon 1er if je l'ai déplacé en bas de mon code PHP est-ce bon ?
Cependant je bloque vraiment concernant les else
Est-ce la partie ou se trouve les elseif le problème ?
(Désolé je débute en PHP)

  if  (isset($_GET['validation'])){
				if ((empty($_GET['prenom'])) OR (empty($_GET['nom'])) OR (empty($_GET['email'])) OR (empty($_GET['telephone']))){
					  echo 'Merci de bien vouloir remplir tout les champs';
				} else {
			    $prenom = $_GET['prenom'];
				$nom = $_GET['nom'];
				$email = $_GET['email'];
				$telephone = $_GET['telephone'];
				
				echo '<div id="container2">';
                echo '<div id="echo">';	
                echo '<h2 id="p1">Vérifier vos information !</h2>' . '</br>';	
				
			    echo '<div id="prenom-get" class="position-get">Votre prénom est : ' . $prenom . '</br>';
				echo '</div>';
				
			    echo '<div id="nom-get" class="position-get" class="clear">Votre nom est : ' . $nom . '</br>';
				echo '</div>';
				
				echo '<div id="email-get" class="position-get">Votre email est : ' . $email . '</br>';
				echo '</div>';
				
				echo '<div id="tel-get" class="position-get">Votre téléphone est : ' . $telephone . '</br>';
				echo '</div>';
				
				echo '</div>';
			    }
					
				
				
				
			    if (isset($_GET['ville'])) 
				{
			    $ville = $_GET['ville'];
				if ($ville=='Paris'){
				echo '<span class="départ">Ville de départ séléctionnée : </span> <span class="ville-séléctionnée"> Paris </span> </br>';
				echo '<div class="itinéraire">';
			    echo '<p class="p1">Voici les différents itinéraires en départ de Paris </p> </br>';	
				echo '<div class="déstination">';
				
				echo "'id' => 0, ['departure' => 'Paris', 'arrival' => 'Nantes', 'departuTime' => '11:00', 'arrivalTime'=> '12:34', 'driver'=>'Thomas'], </br>";
				echo "'id' => 3, ['departure' => 'Paris', 'Orléans' => 'Nantes', 'departuTime' => '03:00', 'arrivalTime'=> '05:26', 'driver'=>'Clément'], </br>";
				echo "'id' => 4, ['departure' => 'Paris', 'arrival' => 'Nice', 'departuTime' => '10:00', 'arrivalTime'=> '12:09', 'driver'=>'Audrey'],  </br>";
				
				echo '</div>';
				echo '</div>';
				} elseif ($ville=='Orléans'){
				echo '<span class="départ">Ville de départ séléctionnée : </span> <span class="ville-séléctionnée"> Orléans </span> </br>';
				echo '<div class="itinéraire">';
			    echo '<p class="p1">Voici l\'itinéraire en départ d\'orléans </p>' . '</br>';	
                echo '<div class="déstination">';
				
				echo "'id' => 1, ['departure' => 'Orléans', 'arrival' => 'Nantes', 'departuTime' => '05:15', 'arrivalTime'=> '09:32', 'driver'=>'Mathieu'], </br>";
				
				echo '</div>';
				echo '</div>';
				
				} elseif ($ville=='Dublin')
				{
				echo '<span class="départ">Ville de départ séléctionnée : </span> <span class="ville-séléctionnée"> Dublin </span> </br>';
				echo '<div class="itinéraire">';
			    echo '<p class="p1">Voici l\'itinéraire en départ de Dublin </p>' . '</br>';	
				echo '<div class="déstination">';
				
				echo "'id' => 2, ['departure' => 'Dublin', 'arrival' => 'Tours', 'departuTime' => '07:23', 'arrivalTime'=> '08:50', 'driver'=>'Nathannaël'], </br>";
				echo '</div>';
				echo '</div>';
				
				} elseif ($ville=='Nice'){
				echo '<span class="départ">Ville de départ séléctionnée : </span> <span class="ville-séléctionnée"> Nice </span> </br>';
				echo '<div class="itinéraire">';
			    echo '<p class="p1">Voici les différents itinéraires en départ de Nice</p>' . '</br>';	
				echo '<div class="déstination">';
				
				echo "'id' => 5, ['departure' => 'Nice', 'arrival' => 'Nantes', 'departuTime' => '10:40', 'arrivalTime'=> '12:09', 'driver'=>'Audrey'], </br>";
				echo "'id' => 6, ['departure' => 'Nice', 'arrival' => 'Tours', 'departuTime' => '11:00', 'arrivalTime'=> '13:00', 'driver'=>'Pollux'], </br>";
				echo "'id' => 8, ['departure' => 'Nice', 'arrival' => 'Nantes', 'departuTime' => '12:00', 'arrivalTime'=> '16:00', 'driver'=>'Charlotte'], </br>";
				echo '</div>';
				echo '</div>';
				
				} elseif ($ville=='Tours'){
				echo '<span class="départ">Ville de départ séléctionnée : </span> <span class="ville-séléctionnée"> Tours </span> </br>';
				echo '<div class="itinéraire">';
			    echo '<p class="p1">Voici l\'itinéraires en départ de Tours </p>' . '</br>';	
				echo '<div class="déstination">';
				
				echo "'id' => 7, ['departure' => 'Tours', 'arrival' => 'Amboise', 'departuTime' => '16:00', 'arrivalTime'=> '18:40', 'driver'=>'Priscilla'],";
				echo '</div>';
				echo '</div>';
				}exit;
				}
				}
0