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 :

ne pas réafficher le formulaire si les valeurs entrées sont bonnes


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 ne pas réafficher le formulaire si les valeurs entrées sont bonnes
    Bonsoir,

    je fais un formulaire html avec l'action dans la même page ( action=""), mais je ne voudrais pas que le formulaire soit réaffiché si l'action dit que l'entrée de l'utilisateur est OK. Voilà ce que j'ai fait pour ça, mais le formulaire est quand même réaffiché :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php...
    if (!isset($form)) {
    ?><form method="post"..action="">...</form>
    <?php } 
    if (...)
        echo ('tous les champs marqu&eacute;s par * sont obligatoires<br>');
     
    else {
    $form=0;
    ...
    echo '<b>annonce saisie</b><br>';
    }?>
    comment éviter que le formulaire soit réaffiché si tout va bien ?

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    vérifie les données de $_POST

    ps :
    - pourquoi &eacute; ?
    - utilise la syntaxe alternative
    - <b> ...
    - <br> ...

  3. #3
    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
    pourquoi &eacute; ?
    Par habitude (avant, je faisais toujours comme ça) et de plus pour faire du html, j'utilise souvent un éditeur html wysiwyg qui traduit les caractères spéciaux en unicode.
    - <br> ...
    d'accord, pour être valide W3C, <br/> serait mieux, mais comme ça marche...
    - <b> ...
    C'est quoi, là, le problème ?



    vérifie les données de $_POST
    L'objet de mon post ; en fait, je ne voudrais réafficher le formulaire que si tous les champs obligatoires ne sont pas remplis, et je teste ça dans l'action
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    if (($cat=='')||($text=='')||($nom=='')||($prenom=='')||($pseudo==''))
        echo ('tous les champs marqu&eacute;s par * sont obligatoires<br>');
    donc du coup, j'ai créé un champ "hidden" "form" : <input type="hidden" name="form" value="1"> et je le remets à 0 dans l'action s'il ne faut pas réafficher le formulaire : mais visiblement, ça ne marche pas ; la solution est-elle juste de répéter le test (donc si ces champs existent mais que l'un d'eux est vide, on réaffiche le formulaire) ?

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    met ton formulaire dans un autre fichier ca sert a rien de tout mettre dans le meme sépare ton code

  5. #5
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Et si tu tiens absolument à tout faire dans le même script, il faut faire la vérification avant l'affichage
    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
    <?php
    $afficherFormulaire = true;
    if (/*condition formulaire reçu*/){
    if (/* condition formulaire incorrect*/)
        echo ('tous les champs marqu&eacute;s par * sont obligatoires<br>');
     
    else {
    $afficherFormulaire = false;
    ...
    echo '<b>annonce saisie</b><br>';
    }
    //affichage du formulaire
    if ($afficherFormulaire) {
    ?><form method="post"..action="">...</form><?php
    }
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  6. #6
    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
    Et si tu tiens absolument à tout faire dans le même script
    Ce n'est pas que j'y tienne particulièrement, mais le code étant déjà fait comme ça, c'est plus simple. Merci.

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

Discussions similaires

  1. Réafficher un formulaire avec les valeurs déjà saisies
    Par lebanner82 dans le forum Langage
    Réponses: 3
    Dernier message: 22/06/2009, 13h41
  2. formulaire upload, les images ne sont pas sauvées
    Par san1981 dans le forum Langage
    Réponses: 37
    Dernier message: 05/08/2008, 21h37
  3. Réponses: 6
    Dernier message: 02/06/2007, 15h33
  4. conserver les valeurs entrées dans un formulaire
    Par mitmit dans le forum Langage
    Réponses: 5
    Dernier message: 03/05/2007, 10h09
  5. [MySQL] revenir sur un formulaires avec les valeurs saisies auparavant
    Par arnogef dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 30/11/2006, 16h35

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