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 :

Ouvrir page en fonction formulaire PHP


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2017
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Février 2017
    Messages : 16
    Points : 15
    Points
    15
    Par défaut Ouvrir page en fonction formulaire PHP
    Bonjour,

    Je voudrais que le bouton de validation d'un formulaire renvoie vers une page spécifique en fonction des infos entrées.
    Des pistes ? Un bout de code similaire en stock ?

    Merci d'avance !

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu fais une redirection avec des conditions dans la page de reception du formulaire.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    if ($_POST['tonchamp'] == "1") {
       $url = 'unepage.php';
    }
    elseif ($_POST['tonchamp'] == "2") {
       $url = 'uneautrepage.php';
    }
     
    header('Location: ' . $url);

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2017
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Février 2017
    Messages : 16
    Points : 15
    Points
    15
    Par défaut
    Merci beaucoup, ce que je voudrais est un peu plus précis, je m'explique.

    J'ai deux champs dans le formulaire :
    les infos entrées dans le champ 1 peuvent être : a, b, c.
    les infos entrées dans le champ 2 peuvent être x, y, z.

    Je souhaite ouvrir une page pour a et x, une page pour a et y, une page une b et z... Pour toutes les possibilités possibles.
    Comment faire ?

    Merci encore pour la première réponse, cela m'a permis de mieux comprendre.

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    C'est pareil sur deux niveaux.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
    if ($_POST['tonchamp'] == "a") {
       if ($_POST['tonchamp2'] == "x") {
             $url = 'unepage.php';
       }
       elseif ($_POST['tonchamp2'] == "y") {
             $url = 'unepage.php';
       } 
    }
    elseif ($_POST['tonchamp'] == "2") {
       $url = 'uneautrepage.php';
    }
    Plutôt que de faire des palanquées de conditions, on peut par contre utiliser un tableau :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $url = array(
         "a"=>array("x"=>"unepage", "y"=>"uneautrepage", "z"=>"unetroisieme"),
         "b"=>array("x"=>"unepage", "y"=>"uneautrepage", "z"=>"unetroisieme"),
         "c"=>array("x"=>"unepage", "y"=>"uneautrepage", "z"=>"unetroisieme")
    );
     
    if (isset($url[$_POST['champ1']], $url[$_POST['champ1']][$_POST['champ2']]) {
        header('Location: ' . $url . '.php');
    }

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2017
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Février 2017
    Messages : 16
    Points : 15
    Points
    15
    Par défaut
    Merci beaucoup, mais ça ne fonctionne pas, où est mon erreur ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <p>
    blabla
    </p>
     
    <form action="cible.php" method="post" target=_blank>
    <p>
        <input type="text" name="soleil" />
        <input type="text" name="lune" />
        <input type="submit" value="Valider" />
    </p>
    </form>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <?php
    $url = array(
         "a"=>array("x"=>"unepage", "y"=>"uneautrepage", "z"=>"unetroisieme"),
         "b"=>array("x"=>"unepage", "y"=>"uneautrepage", "z"=>"unetroisieme"),
         "c"=>array("x"=>"unepage", "y"=>"uneautrepage", "z"=>"unetroisieme")
    );
     
    if (isset($url[$_POST['soleil']], $url[$_POST['soleil']][$_POST['lune']]) {
        header('Location: ' . $url . '.php');
    }

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu peux être plus précis que "ça ne fonctionne pas" ?

  7. #7
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2017
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Février 2017
    Messages : 16
    Points : 15
    Points
    15
    Par défaut
    Oui désolé.
    Le nouvel onglet s'ouvre à l'adresse http://localhost:8888/cible.php et n'ouvre donc pas unepage ou uneautrepage...
    Merci

  8. #8
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Code php : 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
    $url = array(
         "a"=>array("x"=>"unepage", "y"=>"uneautrepage", "z"=>"unetroisieme"),
         "b"=>array("x"=>"unepage", "y"=>"uneautrepage", "z"=>"unetroisieme"),
         "c"=>array("x"=>"unepage", "y"=>"uneautrepage", "z"=>"unetroisieme")
    );
     
    if ( !empty($_POST['soleil']) && !empty($_POST['lune']) )
    {
    	if ( !empty($url[$_POST['soleil']][$_POST['lune']]) )
    	{
    		header('location: ' . $url[$_POST['soleil']][$_POST['lune']] . '.php');
    	} else {
    		echo 'Oups !';
    	}
    }
    ?>

    Le B-A-BA du débogage est d'AFFICHER les données pour vérifier ce quelles contiennent :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var_dump( $url ); // array
    echo $url[$_POST['soleil']][$_POST['lune']]; // variable

  9. #9
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2017
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Février 2017
    Messages : 16
    Points : 15
    Points
    15
    Par défaut
    Merci beaucoup, ça fonctionne mais je ne comprends pas à partir de la ligne 8.
    Et à quoi sert
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var_dump( $url ); // array
    echo $url[$_POST['soleil']][$_POST['lune']]; // variable

  10. #10
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    ...Le B-A-BA du débogage est d'AFFICHER les données pour vérifier ce quelles contiennent...
    Ça sert à être capable de se débrouiller seul....

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

Discussions similaires

  1. Recharger la page après fonction php
    Par leroidje dans le forum Langage
    Réponses: 3
    Dernier message: 08/10/2009, 16h31
  2. [AC-2007] Ouvrir page web dans formulaire
    Par mowegan dans le forum IHM
    Réponses: 1
    Dernier message: 15/04/2009, 20h33
  3. Réponses: 4
    Dernier message: 24/08/2007, 15h56
  4. code VB pour ouvrir une page d'un formulaire
    Par marion67 dans le forum Access
    Réponses: 10
    Dernier message: 31/12/2005, 22h11
  5. Réponses: 6
    Dernier message: 08/11/2005, 15h44

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