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 :

traiter le retour d'un formulaire


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
    Septembre 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 22
    Par défaut traiter le retour d'un formulaire
    Bonjour

    Je suis tout nouveau, tout petit, tout pleinement motivé du haut de mes 30 ans, je souhaite apprendre et développer... comment dirai-je... rapidement quoi.

    Jamais fait de prog... mais depuis quelques jours je passe mes journées sur le net en recherche de formations, etc... et j'ai commencé plusieurs tutos pour débutants à la fois... ils disent la même chose pour les débutants comme moi... naturellement le tuto de Sylvie Vauthier... bah je le commence aujourd'hui.

    J'ai un petit code à vous soumettre... si si... si vous pouvez me dire ou sont mes erreurs qui doivent être sans doute grossières. Il s'agit d'une page avec juste un champ texte et une bonne réponse dans une variable... mon souhait c'est que si le bon texte est tapé, il y est un "bravo" en texte et sinon un "perdu" en texte.

    J'ai pris quelques portions de codes ici et la et j'ai voulu un mettre moi-même les conditions... le formulaire s'affiche bien mais je n'ai pas les retours de bravo ou perdu... voici le code :

    -------------------------------------------
    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
    <?php 
    if (isset($_POST['mot_de_passe']))
    {
    	$mot_de_passe =($_POST['mot_de_passe']);
    }
    else
    {
    	$mot_de_passe ="";
    }	
    ?>
     
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
        <head>
            <title>Page prot&eacute;g&eacute;e par mot de passe</title>
            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
        </head>
        <body>
        <?
    $resultat = array ("bravo","perdu")
    if ($mot_de_passe = "carambar")
    { echo $resultat [0];}
    else
    { echo $resultat [1];}
    ?>
     
    <form action="test.php" method="post">
    <p>
    <input type="text" name="mot_de_passe" /> <input type="submit" value="Valider" />
    </p>
    </form>
    <? echo $resultat; ?>
     
    </body>
    </html>
    -------------------------------------

    Si vous pouvez m'indiquer mes erreurs j'avancerai sans doute.
    Veuillez excuser mon caractère trop pressé... je devrai sans doute lire tout pleins de tutos avant de vouloir faire des trucs tout seul... mais j'ai besoin de vite grandir.
    Merci à vous

  2. #2
    Membre Expert Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 895
    Par défaut
    N'oublie pas les balises code stp :p
    Après un rapide coup d'oeil... j'ai commenté les corrections

    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
    <?php
    if (isset($_POST['mot_de_passe']))
    {
    $mot_de_passe =($_POST['mot_de_passe']);
    }
    else
    {
    $mot_de_passe ="";
    }
    ?>
     
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    <head>
    <title>Page prot&eacute;g&eacute;e par mot de passe</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    </head>
    <body>
    <?
    $resultat = array ("bravo","perdu"); // point-virgule à la fin d'une ligne ;)
    if ($mot_de_passe == "carambar") // DOUBLE EGALITE pour tester / 1 seul pour assigner
    { echo $resultat[0];} // Ne pas mettre d'espace entre $var et crochets => $var [] : incorrect
    else
    { echo $resultat[1];} // Ne pas mettre d'espace entre $var et crochets => $var [] : incorrect
    ?>
     
    <form action="test.php" method="post">
    <p>
    <input type="text" name="mot_de_passe" /> <input type="submit" value="Valider" />
    </p>
    </form>
    <? echo $resultat; ?>
     
    </body>
    </html>

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

    Informations forums :
    Inscription : Septembre 2009
    Messages : 22
    Par défaut
    Merci pour les fautes de syntaxe... Mais le code ne marche toujours pas en fait.

  4. #4
    Membre Expert Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 895
    Par défaut
    Il fonctionne, la preuve : http://www.pierre-roels.be/media/files/form_pwd.php

    Par contre, j'ai légèrement modifié le code pour qu'il soit plus propre... et j'ai regroupé le PHP ensemble... ça servait à rien de le séparer

    La seule chose que j'ai ajouté c'est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    } elseif (!isset($_POST['mot_de_passe'])) {
    	echo "Veuillez entrer le mot de passe";
    }
    Afin d'afficher "Veuillez entrer le mot de passe" quand on charge la page pour la premiere fois plutot que "perdu"

    Mais l'ancien code fonctionnait déjà...

    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
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    <head>
    <title>Page prot&eacute;g&eacute;e par mot de passe</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    </head>
    <body>
    <?
    if (isset($_POST['mot_de_passe'])) {
    	$mot_de_passe =($_POST['mot_de_passe']);
    } else {
    	$mot_de_passe ="";
    }
    $resultat = array ("bravo","perdu"); // point-virgule à la fin d'une ligne ;)
    if (isset($_POST['mot_de_passe']) && $mot_de_passe == "carambar") { // DOUBLE EGALITE pour tester / 1 seul pour assigner
    	echo $resultat[0]; // Ne pas mettre d'espace entre $var et crochets => $var [] : incorrect
    } elseif (!isset($_POST['mot_de_passe'])) {
    	echo "Veuillez entrer le mot de passe";
    } else { // Ne pas mettre d'espace entre $var et crochets => $var [] : incorrect
    	echo $resultat[1];
    } 
    ?>
    <form action="test.php" method="post">
    	<p><input type="text" name="mot_de_passe" /> <input type="submit" value="Valider" /></p>
    </form>
    </body>
    </html>

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 22
    Par défaut
    Bon alors en testant sur ton lien... je tombe sur une page form_pwd.php... et la réponse est renvoyé vers la page test.php... qui par ailleurs réponds dans tous les cas : No input file specified. A la base tout dois se passer dans la même page.

    Désolé

  6. #6
    Membre Expert Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 895
    Par défaut
    oui j'avais renommé le fichier et oublié de changer le champ action... j'ai mis un PHP_SELF maintenant plus de soucis

    Et tu peux constater que tout marche bien .

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

Discussions similaires

  1. "Code retour" d'un formulaire?
    Par Hydex dans le forum IHM
    Réponses: 3
    Dernier message: 04/06/2007, 20h45
  2. valeur de retour d'un formulaire ?
    Par Peanut dans le forum IHM
    Réponses: 6
    Dernier message: 14/05/2007, 14h40
  3. Réponses: 2
    Dernier message: 08/09/2006, 14h14
  4. Réponses: 2
    Dernier message: 08/09/2006, 14h14
  5. Réponses: 1
    Dernier message: 13/08/2006, 10h03

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