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 :

Aller sur une page différente en fonction d'un choix


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 497
    Billets dans le blog
    1
    Par défaut Aller sur une page différente en fonction d'un choix
    Bonsoir,

    en fonction d'un choix que l'utilisateur fait via un formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <tr><td><input type="radio" name="type" value="image" /> : image   </td> </tr>
    <tr><td><input type="radio" name="type" value="musique" /> : musique  </td>   </tr>
    <tr><td><input type="radio" name="type" value="video" />  : video    </td></tr>
    <tr><td><input type="radio" name="type" value="compress&eacute;" /> : compress&eacute; </td> </tr>
    je voudrais le diriger dans l'action vers une page différente. Dans l'action, j'ai mis ceci :
    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
    <?php
    $type=$_POST['type'];
    switch($type) {
    case "image" : {
    header("Location: /uploadimage/upload_image.php");
    		exit(); 
    break;
    }
    case "musique" : {
    header("Location: /uploadimage/upload_musique.php");
    		exit(); 
    break;
    }
    case "video" : {
    header("Location: /uploadimage/upload_video.php");
    		exit(); 
    break;
    }
    case "compress&eacute;" : {
    header("Location: /uploadimage/upload_compr.php");
    		exit(); 
    break;
    }
    case default: {
    echo "Veuillez faire un choix.<br>";
    break;
    }
    }
    Mais les "echo" que j'ai placés dans ces pages me prouvent qu'on n'y passe pas ; pourquoi ? Que faut-il faire ?

  2. #2
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 497
    Billets dans le blog
    1
    Par défaut
    Il y a un truc qui marche : mettre un onclick dans les "radio", mais je ne veux pas faire ça, car on n'est pas sûr que l'utilisateur ait complètement rempli le formulaire...

  3. #3
    Membre Expert Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Par défaut
    Salut,
    a priori tout est bon. Fais-voir le code complet de ton form.
    Fais aussi un var_dump($_POST) tout en haut de page pour voir les valeurs transmises.

  4. #4
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 497
    Billets dans le blog
    1
    Par défaut
    Merci de tenter de me donner une solution.
    Le var_dump donne ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    array(6) { ["nom"]=> string(4) "lolo" ["prenom"]=> string(4) "lolo" ["mail"]=> string(18) "schmittlau@aol.com" ["cat"]=> string(10) "Faire part" ["type"]=> string(7) "musique" ["envoyer"]=> string(7) "Valider" }
    ce qui me semble correct, et voici le formulaire entier :
    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
    44
    45
    46
    47
     <form method="post" action="action_upload_fichier.php"
     enctype="multipart/form-data"><b><font
     face="Arial"><br>
            <table>
              <tbody>
                <tr>
                  <td><font color="#C596FF">Votre
    nom :</font></td>
                  <td> <input name="nom" size="30"
     maxlength="40" value="" type="text"></td>
                </tr>
                <tr>
                  <td><font color="#C596FF">Votre prenom :
                  </font></td>
                  <td><input name="prenom" size="30"
     maxlength="40" value="" type="text"></td>
                </tr>
                            <tr>
                  <td><font color="#C596FF">Votre adresse
    mail
    :</font></td>
                  <td><input name="mail" type="text"></td>
                </tr>
     
                            <tr>
                  <td><font color="#C596FF">Cat&eacute;gorie des fichiers
    :</font></td>
                  <td><SELECT name="cat" size="1">
    <OPTION>Faire part</option>
    <OPTION>Photo montage</option>
    <OPTION>Etiquette de bouteille</option>
    <OPTION>Parure de lit</option>
    <OPTION>Id&eacute;e cadeaux personnalis&eacute;e</option>
    <OPTION>Montage DVD</option>
    </SELECT>
    </td>
                </tr>            
     
     <tr><td>Choisissez le type de fichiers &agrave;
     t&eacute;l&eacute;charger :</tr>
    <tr><td><input type="radio" name="type"  value="image" /> : image   </td> </tr>
    <tr><td><input type="radio" name="type"  value="musique" /> : musique  </td>   </tr>
    <tr><td><input type="radio" name="type"  value="video" />  : video    </td></tr>
    <tr><td><input type="radio" name="type"  value="compress&eacute;" /> : compr </td> </tr>
    <tr><td><input name="envoyer" value="Valider" type="submit">    </td></tr>
     <table>
      </form>

  5. #5
    Membre Expert Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Par défaut
    Ton code fonctionne chez moi, à un détail près tu as une parse error (est-ce qu'elle ne s'affiche pas chez toi ?)

    c'est en fait simplement :

    Idem, ici tu devrais avoir aussi un warning lors de la première visite sur la page car $_POST['type'] n'est pas définie. En général tu testes l'existence de la valeur (ta variable intermédiaire $type est inutile) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if(isset($_POST['type'])) {
    switch($_POST['type']) etc...
     
    }
    J'en conclue que l'affichage des erreurs/warning n'est pas activé sur ta config, tu devrais modifier le php.ini pour les activer si t'es en local.

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    45
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 45
    Par défaut
    Salut,


    En complément des propos de Djakisback :
    Pourquoi mets tu des {} dans tes case ?
    Pas besoin !

    Il manque sans doute des value dans tes balises <option>, et puis les tags doivent être en minuscules (<option>, <select>, ...)

    Mais les "echo" que j'ai placés dans ces pages me prouvent qu'on n'y passe pas
    Que se passe t-il au juste ? Tu restes sur la même page ? Il te réaffiche le formulaire ?
    L'URL change t-elle dans le navigateur ?


    Cordialement,


    Kohntark-

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 18/12/2014, 15h22
  2. Ouvrir un fichier pdf - aller sur une page en particulier
    Par amzerd dans le forum VBA Access
    Réponses: 1
    Dernier message: 07/05/2014, 22h34
  3. Force un réseau lan à aller sur une page intranet
    Par JJroset dans le forum Réseau
    Réponses: 0
    Dernier message: 11/04/2013, 19h09
  4. cohabitation de fonction sur une page
    Par temperature dans le forum Langage
    Réponses: 5
    Dernier message: 28/04/2006, 15h21
  5. comment rediriger sur une page html en fonction de la langue
    Par pierrot10 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 10/08/2005, 11h42

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