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 :

Aide sur les formulaires


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 11
    Par défaut Aide sur les formulaires
    Bonjour,

    Je suis étudiant en 2e année de BTS informatique et je dois réaliser un projet. Ma partie consiste à créer un site web en php interagissant avec une base de données et des scripts CGI.

    Pour l'instant j'en suis encore au site en fait... Je suis débutant en php. Bon connaissant déjà un peu le C et le C++ j'ai pas trop de mal à comprendre comment ça marche en général mais il y a quelques subtilité qui m'échappent encore et j'aurais besoin d'aide d'autant plus que le temps m'est compté .

    J'explique mon problème.

    Je veux créer un système d'authentification. Ma page d'authentification se présente comme ceci :


    J'avais pensé aussi rediriger l'utilisateur sur une autre page si jamais il n'était pas membre mais j'aime bien me compliquer la vie des fois (ca me permet d'en apprendre d'avantage dans ce cas la).

    Bref, je voudrais savoir comment gérer 2 bouttons 'submit'? Dois-je faire 1 formulaire ou 2 formulaire? Et dans mon code php, comment je fais pour tester lequel des 2 formulaires a été executé?

    J'ai regardé sur internet mais je n'ai pas trouvé d'exemple similaire au mien ( faut dire j'ai tellement pas de niveau pour l'instant que j'ai pas trouvé aussi nul que moi )

  2. #2
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 344
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 344
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par Systminou Voir le message
    Bref, je voudrais savoir comment gérer 2 bouttons 'submit'?
    Donne-leur un NAME, ainsi le VALUE du SUBMIT cliqué sera transmis et te permettra d'agir en conséquence. Tu peux aussi passer par un <BUTTON TYPE="SUBMIT">.

    Dois-je faire 1 formulaire ou 2 formulaire?
    Les 2 solutions sont possibles. Je préfèrerais faire 2 formulaires.

    Et dans mon code php, comment je fais pour tester lequel des 2 formulaires a été executé?
    Si 1 formulaire alors tu auras le VALUE du SUBMIT cliqué pour t'aiguiller.
    Si 2 formulaires alors tu peux utiliser un ACTION différent pour chaque.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 11
    Par défaut
    Salut à toi, merci d'avoir répondu aussi vite.

    Si 1 formulaire alors tu auras le VALUE du SUBMIT cliqué pour t'aiguiller.
    Oui c'est ce que je me suis dis mais comment différencier quelle valeur est envoyé par SUBMIT? Est-ce que la valeur du SUBMIT cliqué est elle aussi transmise dans la variable $_POST ? ( ou $_GET ) .
    Par exemple, si j'ai mes 2 boutons SUBMIT comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <FORM ACTION="exemple.php" METHOD="POST">
    <INPUT NAME="boutton" TYPE="submit" VALUE="Connexion">
    <INPUT NAME="boutton" TYPE="submit" VALUE="Inscription">
    </FORM>
    Comment je fais pour récupérer la valeur du SUBMIT qui a été cliqué?

    J'avais pensé faire comme 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
    <?php
    $valeur = $_POST['boutton'];
    
    if ( $valeur == "Connexion" )
    {
    echo "CONNEXION!!!";
    }
    else if ( $valeur == "Inscription")
    {
    echo "INSCRIPTION!!!";
    }
    else
    {
    echo "marche pas...";
    }
    ?>
    Est-ce que ceci pourrait fonctionner?
    A priori non puisque, après execution, le message "CONNEXION!!!" s'affiche non seulement au chargement de la page mais aussi après avoir cliqué sur inscription.

    Si 2 formulaires alors tu peux utiliser un ACTION différent pour chaque.
    Oui pourquoi pas. Il faut alors que je sache quel formulaire a été rempli pour savoir ou envoyer les informations du formulaire et donc tester la valeur du bouton SUBMIT qui a été cliqué donc encore même problème pour moi je ne sais pas comment faire .

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Février 2009
    Messages : 34
    Par défaut
    "method='POST'" signifie que tu auras une variable $_POST de type tableau dans la page suivante.

    $_POST contient tout les champs contenant un attribut "name". Donc si tu as un input de type texte et de nom 'test' tu le récupèreras avec $_POST['test'].

    +

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Février 2009
    Messages : 34
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <FORM ACTION="exemple.php" METHOD="POST">
    <INPUT NAME="boutton" TYPE="submit" VALUE="Connexion">
    <INPUT NAME="boutton" TYPE="submit" VALUE="Inscription">
    </FORM>
    remplace par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <FORM ACTION="exemple.php" METHOD="POST">
    <INPUT NAME="typeform" TYPE="hidden" value="Connexion">
    <INPUT type="submit" value="Bouton de validation connexion">
    </FORM>
     
     
    <FORM ACTION="exemple.php" METHOD="POST">
    <INPUT NAME="typeform" TYPE="hidden" value="Inscription">
    <INPUT type="submit" value="Bouton de validation inscription">
    </FORM>
    Comme ca dans ta page exemple.php tu récupères avec :

    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
     
    if(isset($_POST['typeform']))
    {
         switch ($_POST['typeform'])
         {
                case 'Connexion' : echo 'connexion';break;
                case 'Inscription' : echo 'inscription'; break;
                default : echo 'erreur';
     
         }
     
    }
     
    else
        echo 'Pas de formulaire envoyé';

Discussions similaires

  1. [1.x] aide sur les formulaires imbriqués
    Par belgacem.tlili dans le forum Symfony
    Réponses: 9
    Dernier message: 16/03/2010, 11h07
  2. Besoin d'aide sur les formulaires
    Par Jb-One36 dans le forum VB.NET
    Réponses: 3
    Dernier message: 25/07/2007, 19h48
  3. Besoin d'aide sur les formulaires
    Par Jb-One36 dans le forum Windows Forms
    Réponses: 5
    Dernier message: 22/07/2007, 15h28
  4. Filemaker ... besoin d'aide sur les Plugin
    Par joange dans le forum Autres SGBD
    Réponses: 3
    Dernier message: 22/04/2004, 10h16
  5. [CR] besoin d'aide sur les formules
    Par GuillaumeDSA dans le forum Formules
    Réponses: 4
    Dernier message: 10/07/2003, 12h19

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