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 :

Afficher des parties d'un formulaire en fonction de cases à cocher


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2008
    Messages
    78
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Décembre 2008
    Messages : 78
    Par défaut Afficher des parties d'un formulaire en fonction de cases à cocher
    bonjour,

    je souhaitais avoir une information.

    voilà, j'ai un formulaire où je rentre des données et je coches des cases pour savoir quels pays sont concernés.

    j'aimerais que, suivant la case coché, une partie du formulaire s'affiche.

    par exemple si la case france est coché, le formulaire par la suite affichera les champs à remplir pour la france.

    si les cases france et usa sont cochés, le formulaire affichera les champs pour la france et usa.


    le truc, c'est que mes cases à cocher sont sur une page et les champs à afficher sont sur une autre page dans un autre formulaire. sachant que le listing des pays est existant dans une table de ma bdd.

    selon vous, est-ce que c'est possible? si oui, quel est le cheminement?

    merci

  2. #2
    Membre confirmé
    Homme Profil pro
    Médecin.
    Inscrit en
    Septembre 2008
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Médecin.
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2008
    Messages : 96
    Par défaut
    Bonjour,
    Si j'ai bien compris tu as 2 pages avec 2 formulaires.
    Quand tu transmets le premier formulaire, il va "poster" des variables que tu récupères dans le second et en focntion de leurs valeurs tu affiches ce que tu souhaites.

    Ca réponds à ta question?

  3. #3
    Membre confirmé
    Inscrit en
    Décembre 2008
    Messages
    78
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Décembre 2008
    Messages : 78
    Par défaut
    oui... et non.. ^^

    on est chieuse où on ne l'est pas..

    mon code dans le premier formulaire pour afficher les pays est le suivant :

    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
    <td><h5 class="Style2">Pays concernés : </h5></td>
    <td>
    <?
    $list_pays = hydrus_site_list(-1,$bdd);
    for($i=0;$i<count($list_pays);$i++)
    {
    	if($_POST['site'.$list_pays[$i][0].''] == true)
    	{
    	   print("<input type='checkbox' name='site".$list_pays[$i][0]."' />".$list_pays[$i][1]."<br/>");	
    	}
    	else
    	{
    	   print("<input type='checkbox' name='site".$list_pays[$i][0]."' />".$list_pays[$i][1]."<br/>");		
    	}
    }
    ?></td>

    si je mets $liste_pays[$i][0] dans ma redirection, il ne saura jamais quels sont les pays qui sont cochés... est-ce possible de récupérer cette information selon-vous?

    merci d'avance

  4. #4
    Membre Expert
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Par défaut
    Bonsoir,
    Ajoutes une valeur à tes checkbox :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    print("<input type='checkbox' name='site".$list_pays[$i][0]."' value='".$list_pays[$i][0]."' />".$list_pays[$i][1]."<br/>");
    Deplus ne manque-t-il pas un : dans ton "if" ...

  5. #5
    Membre confirmé
    Inscrit en
    Décembre 2008
    Messages
    78
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Décembre 2008
    Messages : 78
    Par défaut
    que change le selected == 'selected' dans le if?

    sinon, oui c'est vrai qu'en rajoutant le champ value, il est tout de suite plus simple de transmettre les données.. shame on me , mais il ne peux pas savoir combien de cases sont cochés si?

    pour exemple, voici mon code pour l'envoie du formulaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    hydrus_utils_redirect("catcopy2.php5?ref=".$_POST['prod_ref']."&nom=".$_POST['prod_nom']."&id=".$_GET['id']."&site_id=".$list_pays[$i][0]."");
    en faisant cela, il ne peut pas savoir combien de cases sont cochés et lesquelles le sont, si?

  6. #6
    Membre Expert
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Par défaut
    Bonjour,
    que change le selected == 'selected' dans le if?
    Ton "IF" te sert bien à savoir s'il faut cocher ou non le checkbox ?
    Si oui il faut donc ajouter un ==> selected='selected' dans ta condition.

    Pourquoi effectues-tu une redirection, ne peux tu pas transmettre directement tes données avec la méthode $_POST ?

  7. #7
    Membre régulier
    Homme Profil pro
    Webdesigner
    Inscrit en
    Janvier 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Janvier 2009
    Messages : 7
    Par défaut Formulaire de contact
    Bonjour,

    Je suis nouveau sur ce forum et je viens tout de suite avec une difficulté sur un script pour un formulaire de contact que j'aimerai mettre en place. Alors voilà j'ai conçu un formulaire en html qui renvoie vers une page php qui affiche les données remplis dans le formulaire. La page php affiche bien les données remplis dans le formulaire mais ne renvoie pas le formulaire sur mon adresse mail. Je vous donnes les codes des deux pages ci-dessous. Merci de jetter un coup d'oeil au travers et si quelqu'un pouvait m'aider à corriger ce qui ne va pas se serait absolument génial.

    Voici le code de la page du formulaire en html :


    <html>
    <head>
    <title>Récupérer des données provenant d'un formulaire, en PHP</title>
    </head>
    <body>
    <table border="0">
    <form name="formulaire" action="affiche-donnees.php" method="POST" enctype="multipart/form-data">
    <tr>
    <td width="231" align="center">Entrez votre nom</td>
    <td width="317" align="center"><input type="text" name="nom"></td>
    </tr>
    <tr>
    <td align="center">Entrez votre prenom</td>
    <td align="center"><input type="text" name="prenom"></td>
    </tr>
    <tr>
    <td align="center">De quel sexe êtes vous ?</td>
    <td align="center"><input type="radio" name="sexe" value="Homme"> Homme
    <input type="radio" name="sexe" value="Femme"> Femme
    </td>
    </tr>
    <tr>
    <td align="center">Entrez votre pays d'origine</td>
    <td align="center">
    <select name="pays">
    <option value="Allemagne">Allemagne</option>
    <option value="France">France</option>
    <option value="Hollande">Hollande</option>
    </select>
    </td>
    </tr>
    <tr>
    <td align="center">Envoyez votre photo</td>
    <td align="center">
    <input type="file" name="fichier">
    <input type="hidden" name="taille_max" value="10000">
    </td>
    </tr>
    <tr>
    <td colspan="2" align="center"><input type="submit" value="Envoyer"></td>
    </tr>
    </form>
    </table>
    </body>
    </html>


    Et voici le code de la page php qui reçoit les données du formulaire :

    <?php
    $adresse="mon adresse mail";
    $nom = $_POST['nom'] ;
    $prenom = $_POST['prenom'] ;
    $sexe = $_POST['sexe'] ;
    $pays = $_POST['pays'] ;
    $tailleMax = $_POST['taille_max'] ;

    $nomFichier = $_FILES['fichier']['name'] ;
    $tailleFichier = $_FILES['fichier']['size'] ;
    $nomTmp = $_FILES['fichier']['tmp_name'] ;
    $typeFichier = $_FILES['fichier']['type'] ;
    $error = $_FILES['fichier']['error'] ;

    echo( "Votre nom: <b>".$nom."</b><br>\n" ) ;
    echo( "Votre prénom: <b>".$prenom."</b><br>\n" ) ;
    echo( "Votre sexe: <b>".$sexe."</b><br>\n" ) ;
    echo( "Votre pays d'origine: <b>".$pays."</b><br>\n" ) ;
    echo( "Voilà les données de votre image: <br>\n nom => <b>".$nomFichier.
    "</b><br>\n taille => <b>".$tailleFichier.
    "</b> octets<br>\n nom sur le serveur => <b>".$nomTmp.
    "</b><br>\n type de l'image => <b>".$typeFichier.
    "</b><br>\n code de l'erreur => <b>".$error."</b><br>") ;
    echo( "Taille maximale de l'image: <b>".$tailleMax."</b> octets</b>\n" ) ;
    ?>


    Merci de me venir en aide.
    A Bientôt.

  8. #8
    Membre confirmé
    Inscrit en
    Décembre 2008
    Messages
    78
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Décembre 2008
    Messages : 78
    Par défaut
    pourquoi tu fais afficher tes résultats sous ta feuille php. tu n'as pas forcément besoin si tu te l'envoie par mail

    après est-ce que ce que tu utilises comme soft ou hébergeur fait bien l'envoie du mail? si ça ne le fait pas, tu ne pourras pas t'envoyer le formulaire par mail


    ensuite, je pense que si tu veux avoir des réponses, il est préférable que tu ouvres un topic exprès pour ta demande .

    parce que là les gens vont croire que tu apportes une solution à mon problème et vont pas forcément regardé si le sujet de base ne les intéresse pas ou s'ils n'ont pas de solution a apporter.

    et dans le coup tu es perdant

Discussions similaires

  1. Réponses: 1
    Dernier message: 25/05/2011, 09h12
  2. Afficher / Masquer des parties d'un formulaire
    Par Katachana dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 14/09/2010, 15h37
  3. [MySQL] afficher des champs d'un formulaire en fonction d'une liste déroulante
    Par mademoizel dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 08/10/2009, 12h31
  4. afficher des champs d'un formulaire en selectionnant une case à cocher
    Par bozykely3 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 06/06/2007, 09h33
  5. Réponses: 4
    Dernier message: 16/11/2006, 18h54

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