IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Conception d'un formulaire type devis


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Inscrit en
    Décembre 2006
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 8
    Points : 6
    Points
    6
    Par défaut Conception d'un formulaire type devis
    Bonsoir, j'ai un problème pour faire fonctionner un système de location de ski en ligne, l'objectif étant lorsque le visiteur répond à une 1ère requête il donne outre le nom,la date et la durée,il donne aussi le nombre de personnes voulant louer des skis, après validation, la page déroule la suite du questionnnaire en fonction du nombre de personnes choisies,le tout validé renvoie à une page finale de confirmation où l'on récupère les variables des différentes personnes pour présenter le devis final.
    Mon problème est que je n'arrive pas à créer la requête permettant de créer les variables en POST côté page de validation pour récupérer les résultats des différentes personnes, alors que de l'autre côté j'ai inséré une boucle modifiant le nom de la variable selon le nombre.
    Si vous ne comprenez pa je vous glisse le code :

    page location.php
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <form action="locgest.php" method="POST">
    Nom Client : <input type="text" name='nmclient' value="Mr Mme">
    Date d'arriv&eacute;e : <input type="text" name='dateloc' value="00/00/00"size="8"><br />
    Dur&eacute;e location : <input type="text" name='timeloc' value=""size="1">jours<br />
    Nombre de personnes : Adultes <input type="text" name='nmbAd' value="" size="1">Enfants <input type="text" name='nmbEnf' value="" size="1"><br />
    <input type="submit" value="valider">
    </form>

    page locgest.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    //----------[CREE NBRE FORM NECESSAIRE ADULTES]------------ 
    for($i=0; $i!= $nmbAd ; $i++) 
    {$j=$i+1;echo 'Adulte '.$j.'<br />
    <form action="locgest2.php" method="POST">
    Choix de ski : <select name="nivAd">
    <option value="adeb">Debutant</option>
    <option value="amoy">Moyen</option>
    <option value="abon">Bon</option>
    <option value="axpr">Expert</option>
    </select><br/>
    Location Chaussures <input type="checkbox" name="id" value="1" > Pointure : <input type="text" name="point" value="" size="2">
    <br />'; };?>
    <input type="submit" value="valider"><br /></form>
    page locgest2.php : ?!? (je ne sais pas comment créer sur cette page les variables pour récupérer les plusieurs "nivAd" spécifiques aux nombres de personnes de ce côté.

    Merci d'avance
    (Je débute en php, soyez indulgent pour mon approche de ce langage)

  2. #2
    Membre habitué Avatar de islyoung2
    Homme Profil pro
    Inscrit en
    Juin 2008
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40

    Informations forums :
    Inscription : Juin 2008
    Messages : 236
    Points : 177
    Points
    177
    Par défaut
    Salut, le Problème avec le script qui est dans la page locgest.php c'est que tu crée autan de formulaire que le nombre de personnes, je te conseil cette solution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    <?php
    	$nmbAd	=	$_POST['nmbAd'];
    ?>
    <form action="locgest2.php" method="POST">
    <input type="hidden" value="<?php echo $nmbAd; ?>" name="nmb_adulte" /> <!-- Pour savoir le nombre de select dans le fichier locgest2.php -->
    <?php
    for($i=0; $i!= $nmbAd ; $i++) 
    {
    	$j=$i+1;echo 'Adulte '.$j.'<br />'
    ?>
    	Choix de ski : <select name="nivAd<?php echo $i; ?>">
    	<option value="adeb">Debutant</option>
    	<option value="amoy">Moyen</option>
    	<option value="abon">Bon</option>
    	<option value="axpr">Expert</option>
    	</select><br/>
    	Location Chaussures <input type="checkbox" name="id<?php echo $i; ?>" value="1" > 
        Pointure : <input type="text" name="point<?php echo $i; ?>" value="" size="2">
    	<br />
    <?php 
    };
    ?>
    <input type="submit" value="valider"><br /></form>
    je m'explique :
    - la première des choses tu dois utiliser un seul formulaire c'est pour cela que la déclaration de ton formulaire doit être avant la boucle.
    - Maintenant on crée un hidden qui à comme valeur le nombre d'adulte (tu en auras besoin dans le fichier locgest2.php)
    - Ensuite pour chaque select tu ajoute à sont nom le chiffre $i (pour ne pas avoir tous le même nom).

    Maintenant pour la récupération des variables dans le fichier locgest2.php, tu dois faire quelque chose qui ressemble à sa :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    <?php
    $nmb_adulte	=	$_POST['nmb_adulte'];
    //echo $nmb_adulte;
    $adulte	=	array(); //pour mettre tt les informations des adultes 
    for($i=0; $i<$nmb_adulte; $i++)
    {
    	$adulte[$i]['choix_ski'] 	= $_POST['nivAd'.$i];
    	if(isset($_POST['id'.$i]))
    		$adulte[$i]['location_ch']	= 'true';
    	else
    		$adulte[$i]['location_ch']	= 'false';
    	$adulte[$i]['pointure']		= $_POST['point'.$i];
    	//echo 'adulte'.$i.'<br>';
    	//echo 'choix_ski : '.$adulte[$i]['choix_ski'].' -- '.'location_ch : '.$adulte[$i]['location_ch'].' -- '.'pointure : '.$adulte[$i]['pointure'].'<br>';
    }
    ?>
    j'explique :
    - d abord tu récupère le nombre d'adultes (du hidden);
    - tu crée un tableau adulte (c'est un tableau à deux dimension où tu va récupérer tous les informations de chaque adulte dans ce tableau.
    - ensuite tu fais une boucle selon le nombre d'adulte où pour chaque adulte tu effectue la récupération des variables.

    voila j'espère que sa va t'aider sinon n'hésite pas à demander

  3. #3
    Futur Membre du Club
    Inscrit en
    Décembre 2006
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    Tout d'abord merci beaucoup,ton astuce a été efficace, je l'ai rajouté à ma partie enfant en tenant compte du hidden.Et ça fonctionne.Je suis quasiment près du but,j'ai créer une mini base de donnée pour les différents choix de ski (selon le niveau), malheureusement ma requête ne passe pas, j'ai pourtant créer une variable spécifique mais il ne la reconnait pas (j'ai un message Resource id #3).
    J'ai cru à une erreur de syntaxe car un moment j'ai tenté de rajouter des \ '$variable\ ' et j'ai vu au message d'erreur qu'il avait reconnu le contenu de la variable, voici le code que j'ai réalisé (locgest2.php);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    <?php
    session_start();
    $link=mysql_connect(localhost, root, root) or die("Impossible de se connecter"); 
    echo"Connexion MySql ok";echo"<br />";
    mysql_select_db("brundevis") or die("Connexion ma_BD impossible"); 
    echo"Connexion BDD 'brundevis' OK";echo"<br />";?>
    <ul>
    <?php
    $nmb_adulte	=	$_POST['nmb_adulte'];
    $nmb_enfant	=	$_POST['nmb_enfant'];
    $nmb_person = $nmb_adulte + $nmb_enfant;
    echo '<h3>Votre demande de location pour '.$nmb_person.' pers.( '.$nmb_adulte.' Adult. '.$nmb_enfant.'Enf.)  :</h3>';
    echo '<li>Dur&eacute;e '.$_SESSION['dureeloc'].' jours</li>';
    $adulte	=	array(); //pour mettre tt les informations des adultes 
    for($i=0; $i<$nmb_adulte; $i++)
    {
    	$adulte[$i]['choix_ski'] 	= $_POST['nivAd'.$i];
    	if(isset($_POST['id'.$i]))
    		$adulte[$i]['location_ch']	= 'OUI';
    	else
    		$adulte[$i]['location_ch']	= 'NON';
    	$adulte[$i]['pointure']		= $_POST['point'.$i];
    	$j=$i+1;echo '<li>Adulte'.$j.'<br>';
    	echo 'FORFAIT : '.$adulte[$i]['choix_ski'].' -- '.'location chaussures : '.$adulte[$i]['location_ch'].' -- '.'pointure : '.$adulte[$i]['pointure'];
    $forfAd=$adulte[$i]['choix_ski'].$_SESSION['dureeloc'];$req="SELECT $forfAd FROM  forfaitAd ";
    $result=mysql_query($req,$link)or die($query. " -" .mysql_error());echo $result; 
    }                        
    
    $enfant	=	array(); //pour mettre tt les informations des enfants 
    for($i=0; $i<$nmb_enfant; $i++)
    {
    	$enfant[$i]['choix_ski'] 	= $_POST['nivEnf'.$i];
    	if(isset($_POST['idEnf'.$i]))
    		$enfant[$i]['location_ch']	= 'OUI';
    	else
    		$enfant[$i]['location_ch']	= 'NON';
    	$enfant[$i]['pointure']		= $_POST['pointEnf'.$i];
    	$j=$i+1;echo '<li>Enfant'.$j.'<br>';
    	echo 'FORFAIT : '.$enfant[$i]['choix_ski'].' -- '.'location chaussures : '.$enfant[$i]['location_ch'].' -- '.'pointure : '.$enfant[$i]['pointure'];
    $forfEn=$enfant[$i]['choix_ski'].$_SESSION['dureeloc'];echo $forfEn.'</li>';
    }
    ?>
     </ul>
    Merci d'avance, j'apprend énormément par tes conseils.

    A+

  4. #4
    Membre habitué Avatar de islyoung2
    Homme Profil pro
    Inscrit en
    Juin 2008
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40

    Informations forums :
    Inscription : Juin 2008
    Messages : 236
    Points : 177
    Points
    177
    Par défaut
    Salut je viens de lire ton message.
    peut tu m'envoyer la structure de ta BDD et me dire exactement où est l'erreur.

Discussions similaires

  1. Formulaire type devis en php et javascript
    Par kiyeko dans le forum Langage
    Réponses: 8
    Dernier message: 12/02/2013, 10h41
  2. [VBA-E] formulaire type facture,devis
    Par benco dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 30/03/2006, 21h53
  3. Création d'un formulaire type
    Par claire.martin dans le forum Access
    Réponses: 7
    Dernier message: 06/01/2006, 14h35
  4. Conception d'un formulaire
    Par thierrybatlle dans le forum IHM
    Réponses: 1
    Dernier message: 24/11/2005, 20h33
  5. Réponses: 1
    Dernier message: 06/09/2005, 14h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo