formulaire de contact avec select

Eléphanteau du PHP | 12 Messages

12 févr. 2019, 14:28

Bonjour a tous,
est quelqu’un peut m'aider á résoudre ce problème que voici : example
Réalisation d’une application
Vous devez travailler pour un site de covoiturage, vos utilisateurs devront passer par un formulaire de contact
pour la mise en relation. L’utilisateur doit choisir sa ville de départ dans une liste, en fonction de la ville choisie,
les différents itinéraires seront proposés.
Première tache :
Créez un formulaire de contact qui contient les champs suivants :
–– Nom
–– Prénom
–– Adresse émail
–– Numéro de téléphone
–– Sélection de la ville de départ
Deuxième tache:
Proposez les voyages possibles.
Lorsque l’utilisateur clique sur « Rechercher », les destinations correspondantes à sa ville de départ sont
proposées.
voici ce que j'ai pu réaliser jusqu’à maintenant:

le code HTML

<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<script src="https://ajax.googleapis.com/ajax/libs/j ... "></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstr ... ap.min.css">
<script src="https://maxcdn.bootstrapcdn.com/bootstr ... "></script>
<link href="http://fonts.googleapis.com/css?family=Lato" rel="stylesheet" type="text/css">
<link rel="stylesheet" href="style.css">
<title>Document</title>
</head>
<body>
<div class="container">
<div class="row">
<div class="col-lg-10 col-lg-offset-1">
<form id="contact-form" action="handler.php" role="form" method="post">
<div class="row">
<div class="col-md-6">
<label for="fname">Prénom</label>
<input type="text" name="fname" id="fname" class="form-control" placeholder="prenom" value="">
</div>
<div class="col-md-6">
<label for="name">Nom</label>
<input type="text" name="nom" class="form-control" placeholder="nom" value="">
</div>
<div class="col-md-6">
<label for="email">email</label>
<input type="email" name="email" id="email" class="form-control" placeholder="email" value="">
</div>
<div class="col-md-6">
<label for="phone">Téléphone</label>
<input type="tel" name="phone" id="phone" class="form-control" placeholder="téléphone" value="">
</div>
<div class="col-md-12">
<label for="departure">Ville de départ</label>
<select name="departure" id="departure">
<option></option>
<option value="Paris">Paris</option>
<option value="Orleans">Orleans</option>
<option value="Dublin">Dublin</option>
<option value="Nice">Nice</option>
<option value="Tours">Tours</option>
</select>
</div>
<div class="col-md-12">
<input type="submit" name="" class="button1" value="Envoyer">
</div>
</div>
</form>
</div>
</div>
</div>

</body>
</html>



Et le code PHP que voici:

<?php

if (isset($_POST['submit'])) {
$name = $_POST['name'];
$prenom = $_POST['prénom'];
$email = $_POST['email'];
$tel = $_POST['tel'];

}

$name = $_POST['nom'];
$prenom = $_POST['fname'];
$email = $_POST['email'];
$tel = $_POST['phone'];
$departure = $_POST['departure'];




echo $_POST['nom'];
echo "<br>";
echo $_POST['fname'];
echo "<br>";
echo $_POST['email'];
echo "<br>";
echo $_POST['phone'];
echo "<br>";
//echo "Votre ville de départ est : ";
echo "<br>";
echo $_POST['departure'];
echo "<br>";
echo "<br>";
$travels = $_POST['departure'];

$travels = array(
array( 'departure'=> 'Paris', 'arrival'=> 'Nantes', 'departureTime'=>'11:00', 'arrivalTime'=>'11:34', 'driver' =>'Thomas'),
array( 'departure'=> 'Orléans', 'arrival'=> 'Nantes', 'departureTime'=>'05:15', 'arrivalTime'=>'09:32', 'driver' =>'Mathieu'),
array( 'departure'=> 'Dublin', 'arrival'=> 'Tours', 'departureTime'=>'07:23', 'arrivalTime'=>'08:50', 'driver' =>'Nathanael'),
array( 'departure'=> 'Paris', 'arrival'=> 'Orléans', 'departureTime'=>'03:00', 'arrivalTime'=>'05:26', 'driver' =>'Clément'),
array( 'departure'=> 'Paris', 'arrival'=> 'Nice', 'departureTime'=>'10:00', 'arrivalTime'=>'12:09', 'driver' =>'Audrey'),
array('departure'=> 'Nice', 'arrival'=> 'Nantes', 'departureTime'=>'10:40', 'arrivalTime'=>'13:00', 'driver' =>'Pollux'),
array( 'departure'=> 'Nice', 'arrival'=> 'Tours', 'departureTime'=>'11:00', 'arrivalTime'=>'16:10', 'driver' =>'Edouard'),
array( 'departure'=> 'Tours', 'arrival'=> 'Amboise', 'departureTime'=>'16:00', 'arrivalTime'=>'18:40', 'driver' =>'Priscilla'),
array( 'departure'=> 'Nice', 'arrival'=> 'Nantes', 'departureTime'=>'12:00', 'arrivalTime'=>'16:00', 'driver' =>'Charlotte')
);


Est ce que quelqu'un peut m'aider a resoudre ce probleme

Merci d'avance
https://PrivateLadyEscorts.com - Local Chat Rooms - No Verify - Anonymous Sex Dating - Secret Chat Local

Mammouth du PHP | 1967 Messages

12 févr. 2019, 15:44

Qu'est-ce qui marche qu'est-ce qui marche pas ? pourquoi ?

Il faut que tu travail un peu plus de ton coté, nous n'allons pas faire ton exercice à ta place.
Spols
pour les fan de rubik's cube ou pour les curieux ==> le portail francophone du rubik's cube

Eléphanteau du PHP | 12 Messages

12 févr. 2019, 15:53

Bonjour merci pour ton feedback,
Je ne demande pas qu’on le fasse à ma place, pas du tout, mais juste me montrer le chemin qui mène vers la solution. Je suis tout à fait nouveau dans ce domaine
Voici ce que j’ai essayé de faire mais cela ne me donne pas le résultat escompté
$departure = $_POST['departure'];
foreach ($travels as $travel => $value ) {
if ( $departure == $travel) $departure++; {
foreach ($value as $k => $a) {
echo $k. ':'. $a . '<br/>';

}
}
}
Merci
https://PrivateLadyEscorts.com - Local Chat Rooms - No Verify - Anonymous Sex Dating - Secret Chat Local

Mammouth du PHP | 1967 Messages

12 févr. 2019, 16:27

ok la on peut t'indiquer quelques pistes.

avec un foreach ($travels as $travel => $value)

donc à chaque itération $travel correspond à la clé de l'item, valeur qui a peu d'interet tu ne les renseigne pas lors de la création du tableau il sont donc auto-généré.
donc tu peux te limité à foreach ($travels as $travel)
désormais $travel sera équivalent à un tableau associatif qui possède 4 clés et autant de valeur
tu cherche donc a savoir si ta ville de départ stocké dans $departure équivaut à la valeur de ton sous- tableau avec la clé 'departure'
donc ta condition if est incomplète
et l'itératiopn de ta variable $departure est incohérente vu qu'elle contient le départ recherché et que cette valeur ne doit pas être modifié.
après ta condition tu peux donc géré l'affichage désiré.
Et comme l'a dit un grand sage : toujours commencez par le HTML que l'on veut obtenir
Spols
pour les fan de rubik's cube ou pour les curieux ==> le portail francophone du rubik's cube

Eléphanteau du PHP | 12 Messages

12 févr. 2019, 16:50

Merci de la peine mais j'avoue que cela ne m'a pas permis d'avancer, si vraiment vous connaissez bien le sujet j'aimerais que vous m’écriviez le code qui mène vers la solution. Ainsi je pourrais m'en référer et saurais comment résoudre ce genre de problème, en m’exerçant sur ton exemple.
Contrairement a ce que tu crois ceci n'est pas un devoir ni un examen du genre, je suis en train d'apprendre le PHP et j'essaie de trouver comment résoudre une telle situation.
Merci quand de ta réaction spontanée.
https://PrivateLadyEscorts.com - Local Chat Rooms - No Verify - Anonymous Sex Dating - Secret Chat Local

Mammouth du PHP | 1967 Messages

12 févr. 2019, 17:04

au plus je relis ton code (au passage utilise les balise [ php][/php] pour une meilleur visibilité sur le forum) au plus je vois des incohérences

commence étape par étape en vérifiant que tes variables contiennent ce que tu veux.
if (isset($_POST['submit'])) {
$name = $_POST['name'];
$prenom = $_POST['prénom'];
$email = $_POST['email'];
$tel = $_POST['tel'];

}

$name = $_POST['nom'];
$prenom = $_POST['fname'];
$email = $_POST['email'];
$tel = $_POST['phone'];
$departure = $_POST['departure'];
ici je vois plein d'horreur, à quoi sert ton if si tu rempli quand même les même variable juste après et puis ne pense tu pas que tu manque un peux de cohérence avec tes clé du tableau $_POST ?? elle doivent correspondre à ton code html.
echo $_POST['nom'];
echo "<br>";
echo $_POST['fname'];
echo "<br>";
echo $_POST['email'];
echo "<br>";
echo $_POST['phone'];
Pourquoi utilisé le tableaux $_POST alors que tu viens de remplir une série de variable plus utile.

$travels = $_POST['departure'];

$travels = array(
Pareil pourquoi remplir une variable avec une données ne correspondant pas et ensuite l'écraser avec autres choses

rapidement je ferai ceci mais je n'ai rien testé
foreach $travels as $travel) {
if $travel['departure'] == $departure {
var_dump($travel);
}
}
si cela marche remplace le var_dump par ce qu'il te faut.
Spols
pour les fan de rubik's cube ou pour les curieux ==> le portail francophone du rubik's cube

Eléphanteau du PHP | 12 Messages

12 févr. 2019, 17:17

ton code ne marche pas ,
voici le code qui est tout prés du résultat, le seul problème c'est qu'il affiche toutes les destinations, au lieu de la seule destination choisie dans le formulaire
https://PrivateLadyEscorts.com - Local Chat Rooms - No Verify - Anonymous Sex Dating - Secret Chat Local

Eléphanteau du PHP | 12 Messages

12 févr. 2019, 17:18

$departure = $_POST['departure'];
foreach ($travels as $travel => $value ) {

if ( $departure == $travel) $departure++; {
foreach ($value as $k => $a) {

print $k. ':'. $a . '<br/>';

}
}
}
https://PrivateLadyEscorts.com - Local Chat Rooms - No Verify - Anonymous Sex Dating - Secret Chat Local

Eléphanteau du PHP | 12 Messages

12 févr. 2019, 17:20

je dois pouvoir afficher comme tel


Ville de départ ; Paris

departure:Paris
arrival:Nantes
departureTime:11:00
arrivalTime:11:34
driver:Thomas

pareil pour les autres
Orléans

departure:Orléans
arrival:Nantes
departureTime:05:15
arrivalTime:09:32
driver:Mathieu

ainsi de suite
https://PrivateLadyEscorts.com - Local Chat Rooms - No Verify - Anonymous Sex Dating - Secret Chat Local

Mammouth du PHP | 1967 Messages

12 févr. 2019, 17:21

si tu ne lis pas ce que j'écris il est inutile que je continue.
Spols
pour les fan de rubik's cube ou pour les curieux ==> le portail francophone du rubik's cube

Eléphanteau du PHP | 12 Messages

12 févr. 2019, 17:23

J'ai bien lu mon cher
https://PrivateLadyEscorts.com - Local Chat Rooms - No Verify - Anonymous Sex Dating - Secret Chat Local

Eléphanteau du PHP | 12 Messages

13 févr. 2019, 16:03

Bonjour à tous
Je tiens à rappeler une chose que l’on a tendance à oublier, ce lieu est fait pour l’entraide, comme son nom l’indique on doit s’entraider. Lisez bien l’intitulé (PHP pour débutants) .
Je suis débutant comme tout le monde l’a été, alors si je m’inscris a ce forum c’est pour trouver de l’aide et non pas de subir des critiques. C’est assez frustrant comme cela. Si tu ne peux pas aider quelqu’un en difficultés, abstiens toi. Mais des propos du genre (on ne va pas faire tes devoirs, travaille un peu…) sont inutiles et blessants.
J’espère bien me faire comprendre .
Mais certains ne le comprennent pas et se prennent pour des professeurs qui se trouveraient face à leurs élèves, jusqu’à se fâcher parfois pour un rien.

Mes respects à tout monde.
https://PrivateLadyEscorts.com - Local Chat Rooms - No Verify - Anonymous Sex Dating - Secret Chat Local

Avatar du membre
Mammouth du PHP | 1609 Messages

13 févr. 2019, 16:14

$travels = array(/*...*/);

if (isset($_POST['departure'])) {
  foreach ($travels as $travel)
    if ($travel['departure'] == $_POST['departure'])
      print_r($travel);
}
PS : les accolades sont facultatives si une seule ligne est concernée par le if ou le foreach mais sinon elles sont obligatoires.
Développeur web depuis + de 20 ans

Eléphanteau du PHP | 12 Messages

13 févr. 2019, 17:55

Bonjour
J’apprécie beaucoup ton geste et le fait que sois revenu sur ta décision de ne plus continuer à m’aider.
Je comprends maintenant aisément comment il faut afficher les tableaux, malgré que le résultat espéré ne soit pas encore atteint.
Je crois qu’avec encore un peu de recherche j'y parviendrais .
En tout cas merci beaucoup d’avoir pris la peine.
Mes respects
https://PrivateLadyEscorts.com - Local Chat Rooms - No Verify - Anonymous Sex Dating - Secret Chat Local