[RESOLU] Formulaire Php

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Formulaire Php

Re: [RESOLU] Formulaire Php

par Spols » 09 févr. 2017, 11:42

Pour le calcule du temps de trajet, tu dois transformer les heures en date plutot qu'en string afin de pouvoir faire un calcul.

Pour les erreurs, cherche du coté de reporting E_ALL
http://php.net/manual/fr/function.error-reporting.php

Re: [RESOLU] Formulaire Php

par jems » 09 févr. 2017, 11:34

Juste si je veux calculer la durée des trajet, comment pourrais-je faire ?

Cela me donne l'heure mais pas les minutes donc après les deux points

Cordialement,

Re: [RESOLU] Formulaire Php

par jems » 09 févr. 2017, 11:28

Ok je note merci comment est-ce que j'affiche les erreurs ?

Re: Formulaire Php

par Spols » 09 févr. 2017, 11:26

oui ca marche mais cela devrait t'afficher une NOTICE car il n'y a pas d'index departure dans la valeur lié à id (qui n'est même pas un tableau)
si tu ne vois pas l'erreur, il faudrait que tu fasse afficher toute les erreurs, cela peut t'être d'une grande aide pour le debugage.

Re: Formulaire Php

par jems » 09 févr. 2017, 11:23

Tiens et bizarrement lorsque je retire le "unset($travels["id"]);" cela fonctionne !

Re: Formulaire Php

par jems » 09 févr. 2017, 11:20

J'ai rien dis j'ai oublié le "s" du premier travel dans ma boucle ça marche après des jours de recherches merci beaucoup pour ton aide :D

Re: Formulaire Php

par jems » 09 févr. 2017, 11:09

Étrange, "Undefined variable: travel " / "Invalid argument supplied for foreach()"

Code actuel :
else	{


	
	
		$travels= [
	'id' =>0,['departure'=>'Paris','arrival'=>'Nantes','departureTime'=>'11:00','arrivalTime'=>'12:34','driver'=>'Thomas'],
	'id' =>1,['departure'=>'Orléans','arrival'=>'Nantes','departureTime'=>'05:15','arrivalTime'=>'09:32','driver'=>'Mathieu'],
	'id' =>2,['departure'=>'Dublin','arrival'=>'Tours','departureTime'=>'07:23','arrivalTime'=>'08:50','driver'=>'Nathanaël'],
	'id' =>3,['departure'=>'Paris','arrival'=>'Orléans','departureTime'=>'03:00','arrivalTime'=>'05:26','driver'=>'Clément'],
	'id' =>4,['departure'=>'Paris','arrival'=>'Nice','departureTime'=>'10:00','arrivalTime'=>'12:09','driver'=>'Audrey'],
	'id' =>5,['departure'=>'Nice','arrival'=>'Nantes','departureTime'=>'10:40','arrivalTime'=>'13:00','driver'=>'Pollux'],
	'id' =>6,['departure'=>'Nice','arrival'=>'Tours','departureTime'=>'11:00','arrivalTime'=>'16:10','driver'=>'Endouard'],
	'id' =>7,['departure'=>'Tours','arrival'=>'Amboise','departureTime'=>'16:00','arrivalTime'=>':18h40','driver'=>'Priscilla'],
	'id' =>8,['departure'=>'Nice','arrival'=>'Nantes','departureTime'=>'12:00','arrivalTime'=>'16:00','driver'=>'Charlotte'],
	];
	
	unset($travels["id"]);
foreach($travel as $travels){
if ($travel["departure"] == $_POST["departure"]) 
    {echo '<br>Départ de ' , $travel['departure'];
    echo ' en direction de ' , $travel['arrival'];
    echo ' à' , $travel['departureTime'];
    echo ' pour arriver à ' , $travel['arrivalTime'];
    echo ' ,votre chauffeur/euse sera  ' , $travel['driver'];}
}
    
  
  
  }

Re: Formulaire Php

par Spols » 09 févr. 2017, 11:07

oui pardon c'est foreach($travels as $travel){
qu'il fallait. Je confondais avec un autre language

Re: Formulaire Php

par jems » 09 févr. 2017, 11:02

D'accord, je ferais remonter à celui qui ma donné l’exercice mais le in de mon foreach ne semble pas fonctionnez, on m'affiche : "syntax error, unexpected 'in' (T_STRING)"

Re: Formulaire Php

par Spols » 09 févr. 2017, 10:49

La structure du tableau donné est absurde quoi qu'il arrive
Il y a plusieurs réassignation de la clé id avec une nouvelle valeur.

Si il faut vraiment garder cette structure, une astuce peut t'aider.
cet index "id" n'a en fait aucune utilité chaque sous tableau est mis dans le tableau dans index, donc php lui atrtribue un index numérique en partant de 0 et en incrémentant à chaque insertion. il suffit donc juste de supprimer l'index "id" qui ne sert à rien et boucler sur le tableau restant.

Mais signale à celui qui t'a donné cet exercice le problème de structure de celui-ci
unset($travels["id"]);
foreach($travel in $travels){
if ($travel["departure"] == $_POST["departure"]) 
    {echo '<br>Départ de ' , $travel['departure'];
    echo ' en direction de ' , $travel['arrival'];
    echo ' à' , $travel['departureTime'];
    echo ' pour arriver à ' , $travel['arrivalTime'];
    echo ' ,votre chauffeur/euse sera  ' , $travel['driver'];}
}
    
  
  
  }

Re: Formulaire Php

par jems » 09 févr. 2017, 10:13

Merci, mais cela ne fonctionne pas en réalité c'est un exercice qui ma été donné et le tableau et une source pour l'exercice donc il faudrait que je réalise cela avec le tableau ci-dessus.

Cordialement,

Re: Formulaire Php

par Spols » 09 févr. 2017, 09:43

la structure de ton tableau n'est pas bonne, tu auras du mal à retrouver tes petits
$travels= [
 0 => ['departure'=>'Paris','arrival'=>'Nantes','departureTime'=>'11:00','arrivalTime'=>'12:34','driver'=>'Thomas'],
 1 => ['departure'=>'Orléans','arrival'=>'Nantes','departureTime'=>'05:15','arrivalTime'=>'09:32','driver'=>'Mathieu'],
 2 => ['departure'=>'Dublin','arrival'=>'Tours','departureTime'=>'07:23','arrivalTime'=>'08:50','driver'=>'Nathanaël'],
 3 => ['departure'=>'Paris','arrival'=>'Orléans','departureTime'=>'03:00','arrivalTime'=>'05:26','driver'=>'Clément'],
 4 => ['departure'=>'Paris','arrival'=>'Nice','departureTime'=>'10:00','arrivalTime'=>'12:09','driver'=>'Audrey'],
 5 => ['departure'=>'Nice','arrival'=>'Nantes','departureTime'=>'10:40','arrivalTime'=>'13:00','driver'=>'Pollux'],
 6 => ['departure'=>'Nice','arrival'=>'Tours','departureTime'=>'11:00','arrivalTime'=>'16:10','driver'=>'Endouard'],
 7 => ['departure'=>'Tours','arrival'=>'Amboise','departureTime'=>'16:00','arrivalTime'=>':18h40','driver'=>'Priscilla'],
 8 => ['departure'=>'Nice','arrival'=>'Nantes','departureTime'=>'12:00','arrivalTime'=>'16:00','driver'=>'Charlotte'],
  ];
  
  

    foreach($travel in $travels){
if ($travel["departure"] == $_POST["departure"]) 
    {echo '<br>Départ de ' , $travel['departure'];
    echo ' en direction de ' , $travel['arrival'];
    echo ' à' , $travel['departureTime'];
    echo ' pour arriver à ' , $travel['arrivalTime'];
    echo ' ,votre chauffeur/euse sera  ' , $travel['driver'];}
}
    
  
  
  }

Re: Formulaire Php

par jems » 08 févr. 2017, 21:57

Je suis un peu perdu dû coups que devra Etre ma ligne de code ? Cordialement,

Re: Formulaire Php

par moogli » 08 févr. 2017, 15:08

salut,

Utilise la structure foreach pour parcourir le tableau et afficher ce qui correspond à $_POST['choix'].

pour ce qui est de la base de données, ce n'est pas complexe et surtout c'est très pratique pour mettre a jour les données sans devoir modifier le code php pour ajouter un trajet.

@+

Formulaire Php

par jems » 08 févr. 2017, 12:23

Bonjour, alors voilà je suis censé faire un système pour que lorsque je choisisse la ville ou j'habite dans mon formulaire select, on m'affiche les destinations qui ont dans le tableau comme valeur 'departure' la même valeur que le choix dans le select.

Je m'explique, je choisis Paris comme étant ma ville, lorsque j'envoie le formulaire on va m'afficher tout ce qui est departuretime, arrvialtime .. correspondant à departure=Paris.

Si ma ville de départ est Paris je vais afficher tout les id 0,3,4.

Je ne veux pas utiliser de base de donnée ou autre sql juste rester dans le basique et je veux conserver mon tableaux je pense pas qu'il y est des modifications à faire mais plutôt des ajouts

Si c’est pas très clair voilà ou en est mon code :

(On m'avait conseiller de placer "if($travels['id'] ['departure'] == $_POST['departure'])" juste après mon tableau $tavels mais celà ne fonctionne pas.)

Ps: Soyez indulgent je suis vraiment débutant :lol:
<form action="formulaire.php" method="post">
<p><input type="text" name="nom">Votre nom </p>
<p><input type="text" name="prenom">Votre prénom </p>
<p><input type="text" name="email">Votre email</p>
<p><input type="tel" name="numero">Votre Numéro</p>
<label for="ville">Dans quel ville habitez-vous ? </label><br />
<select name="choix">
<option value="Paris">Paris</option>
<option value="orleans">Orléans</option>
<option value="dublin">Dublin</option>
<option value="nice">Nice</option>
<option value="tours">Tours</option>
</select>
<input type="submit" name="validation">
</form>

<?php 

if (isset($_POST['validation']))
{
	if ( (empty($_POST['nom']))
	OR
	(empty($_POST['prenom']))
	OR
	(empty($_POST['email']))
	OR
	(empty($_POST['numero'])))
	{
	echo '<br>Tous les champs doivent être remplis';
	}
	
	else	{
		
	
	
		$travels= [
	'id' =>0,['departure'=>'Paris','arrival'=>'Nantes','departureTime'=>'11:00','arrivalTime'=>'12:34','driver'=>'Thomas'],
	'id' =>1,['departure'=>'Orléans','arrival'=>'Nantes','departureTime'=>'05:15','arrivalTime'=>'09:32','driver'=>'Mathieu'],
	'id' =>2,['departure'=>'Dublin','arrival'=>'Tours','departureTime'=>'07:23','arrivalTime'=>'08:50','driver'=>'Nathanaël'],
	'id' =>3,['departure'=>'Paris','arrival'=>'Orléans','departureTime'=>'03:00','arrivalTime'=>'05:26','driver'=>'Clément'],
	'id' =>4,['departure'=>'Paris','arrival'=>'Nice','departureTime'=>'10:00','arrivalTime'=>'12:09','driver'=>'Audrey'],
	'id' =>5,['departure'=>'Nice','arrival'=>'Nantes','departureTime'=>'10:40','arrivalTime'=>'13:00','driver'=>'Pollux'],
	'id' =>6,['departure'=>'Nice','arrival'=>'Tours','departureTime'=>'11:00','arrivalTime'=>'16:10','driver'=>'Endouard'],
	'id' =>7,['departure'=>'Tours','arrival'=>'Amboise','departureTime'=>'16:00','arrivalTime'=>':18h40','driver'=>'Priscilla'],
	'id' =>8,['departure'=>'Nice','arrival'=>'Nantes','departureTime'=>'12:00','arrivalTime'=>'16:00','driver'=>'Charlotte'],
	];
	
	

		
		{echo '<br>Départ de ' , $travels ['id'] ['departure'];
		echo ' en direction de ' , $travels ['id'] ['arrival'];
		echo ' à' , $travels ['id'] ['departureTime'];
		echo ' pour arriver à ' , $travels ['id'] ['arrivalTime'];
		echo ' ,votre chauffeur/euse sera  ' , $travels ['id'] ['driver'];}
		
	
	
	}
	}

?>