Problème boucle foreach OU je ne choisi pas la bonne option
jordane45 Messages postés 40050 Date d'inscription Statut Modérateur Dernière intervention -
bonjour,
j'essai de récupérer certaines informations d'un tableau en fonction de l'élément ville de départ remplis dans un formulaire .
le choix du GET est uniquement pour voir les éléments dans URL
mais toutes les villes d'arrivées s'affiche . comment dois-je faire (j'ai déjà essayé plusieurs solution mais sans succès)
<form action="index.php" method="get">
<input type="text" name="nom" maxlength="15" placeholder="Votre nom">
<input type="email" name="email" maxlength="25" placeholder="Votre adresse email">
<input type="tel" name="tel" minlength="10" maxlength="10" placeholder="Votre tél. 10 chiffres maxi">
Ville de départ :
<select name="depart">
<option value="Paris">Paris</option>
<option value="Orléans">Orléans</option>
<option value="Dublin">Dublin</option>
<option value="Nice">Nice</option>
<option value="Tours">Tours</option>
</select>
<input type="submit" name="valider" value="Valider">
</form>
<?php
if(isset($_GET["valider"])){
if (
(empty($_GET["nom"]))
or
(empty($_GET["email"]))
or
(empty($_GET["tel"]))
) {
echo "Tous les champs du formulaire ne sont pas complétés";
}}
$travels = [
['departure' => 'Paris', 'arrival' => 'Nantes', 'departureTime' => '11:00', 'arrivalTime' => '12:34', 'driver' => 'Thomas'],
['departure' => 'Orléans', 'arrival' => 'Nantes', 'departureTime' => '05:15', 'arrivalTime' => '09:32', 'driver' => 'Mathieu'],
['departure' => 'Dublin', 'arrival' => 'Tours', 'departureTime' => '07:23', 'arrivalTime' => '08:50', 'driver' => 'Nathanaël'],
['departure' => 'Paris', 'arrival' => 'Orléans', 'departureTime' => '03:00', 'arrivalTime' => '05:26', 'driver' => 'Clément'],
['departure' => 'Paris', 'arrival' => 'Nice', 'departureTime' => '10:00', 'arrivalTime' => '12:09', 'driver' => 'Audrey'],
['departure' => 'Nice', 'arrival' => 'Nantes', 'departureTime' => '10:40', 'arrivalTime' => '13:00', 'driver' => 'Pollux'],
['departure' => 'Nice', 'arrival' => 'Tours', 'departureTime' => '11:00', 'arrivalTime' => '16:10', 'driver' => 'Edouard'],
['departure' => 'Tours', 'arrival' => 'Amboise', 'departureTime' => '16:00', 'arrivalTime' => '18:40', 'driver' => 'Priscilla'],
['departure' => 'Nice', 'arrival' => 'Nantes', 'departureTime' => '12:00', 'arrivalTime' => '16:00', 'driver' => 'Charlotte'],
];
$travel = $_GET["depart"];
foreach ($travels as $key => $travel) {
echo $travel ["arrival"];
}
?>
- Le fichier contient un programme écrit en python. le programme construit un mot secret mais il ne l'affiche pas. modifiez ce programme afin que à chaque itération de la boucle : la variable a augmente de 2 la variable b diminue de 1 ajoutez une instruction pour faire afficher le mot secret construit. quel est ce mot secret ?
- Le fichier à télécharger comporte plusieurs calques. l’un d’eux contient un mot caché. quel est ce mot ? - Forum Téléchargement
- Trousseau mot de passe iphone - Guide
- Mot de passe - Guide
- Un document .docx est, en réalité, composé de plusieurs fichiers. dans le fichier à télécharger, trouvez le fichier secret. quel mot contient-il ? ✓ - Forum Windows
- Mot de passe administrateur freebox ✓ - Forum Freebox
1 réponse
bonjour,
<?php
//récupération PROPRE des variables AVANT de les utiliser
// pour ça, j'utilise l'écriture TERNAIRE ( sorte de IF/ELSE )
$nom = !empty($_GET['nom'] ) ? $_GET['nom'] : NULL;
$email = !empty($_GET['email'] ) ? $_GET['email'] : NULL;
$tel = !empty($_GET['tel'] ) ? $_GET['tel'] : NULL;
$depart = !empty($_GET['depart'] ) ? $_GET['depart'] : NULL;
if(isset($_GET["valider"])){
if ( !$nom || !$email|| !$tel ) {
echo "Tous les champs du formulaire ne sont pas complétés";
} else {
$travels = [
['departure' => 'Paris', 'arrival' => 'Nantes', 'departureTime' => '11:00', 'arrivalTime' => '12:34', 'driver' => 'Thomas'],
['departure' => 'Orléans', 'arrival' => 'Nantes', 'departureTime' => '05:15', 'arrivalTime' => '09:32', 'driver' => 'Mathieu'],
['departure' => 'Dublin', 'arrival' => 'Tours', 'departureTime' => '07:23', 'arrivalTime' => '08:50', 'driver' => 'Nathanaël'],
['departure' => 'Paris', 'arrival' => 'Orléans', 'departureTime' => '03:00', 'arrivalTime' => '05:26', 'driver' => 'Clément'],
['departure' => 'Paris', 'arrival' => 'Nice', 'departureTime' => '10:00', 'arrivalTime' => '12:09', 'driver' => 'Audrey'],
['departure' => 'Nice', 'arrival' => 'Nantes', 'departureTime' => '10:40', 'arrivalTime' => '13:00', 'driver' => 'Pollux'],
['departure' => 'Nice', 'arrival' => 'Tours', 'departureTime' => '11:00', 'arrivalTime' => '16:10', 'driver' => 'Edouard'],
['departure' => 'Tours', 'arrival' => 'Amboise', 'departureTime' => '16:00', 'arrivalTime' => '18:40', 'driver' => 'Priscilla'],
['departure' => 'Nice', 'arrival' => 'Nantes', 'departureTime' => '12:00', 'arrivalTime' => '16:00', 'driver' => 'Charlotte'],
];
$ids = array_keys(array_combine(array_keys($travels), array_column($travels, 'departure')),$depart);
}
}
?>
<form action="index.php" method="get">
<input type="text" name="nom" maxlength="15" placeholder="Votre nom" value="<?php echo $nom;?>">
<input type="email" name="email" maxlength="25" placeholder="Votre adresse email">
<input type="tel" name="tel" minlength="10" maxlength="10" placeholder="Votre tél. 10 chiffres maxi">
Ville de départ :
<select name="depart">
<option value="Paris">Paris</option>
<option value="Orléans">Orléans</option>
<option value="Dublin">Dublin</option>
<option value="Nice">Nice</option>
<option value="Tours">Tours</option>
</select>
<input type="submit" name="valider" value="Valider">
</form>
<div>
<?php
if(!empty($ids)){
echo "<span>Résultats:</span>";
foreach($ids as $id ){
echo "<pre>";
print_r($travels[$id] ); // a toi de voir ce que tu veux faire du résultat...
echo "</pre>";
}
}
?>
</div>