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 :

retour sur formulaire incomplet?


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2011
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 12
    Points : 11
    Points
    11
    Par défaut retour sur formulaire incomplet?
    Bonjour,

    J'ai un formulaire php et je veux en cas de saisies incomplètes revenir sur mon formulaire et que les informations saisies reviennent s'affichées.

    Pour l'instant j'ai fait unn header("location: http://......). cela fonctionne mais les champs reviennent vide.

    Qu'est-ce que je peux faire pour corriger cela?

    Merci de votre aide

    gryps

  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 peux faire l'inverse : le formulaire pointe sur lui même ; si tout est bon tu fais une redirection, sinon tu continues sur l'affichage du formulaire.

  3. #3
    Membre à l'essai
    Inscrit en
    Janvier 2011
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 12
    Points : 11
    Points
    11
    Par défaut
    Oui j'ai fait ce que tu m'as dit mais maintenant il me faut faire une redirection en javascript alors j'ai essayé çà : document.location.href = 'http://www.... mais les informations présentent sur le formulaire initial ne restent pas.

    As-tu une idée?

  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
    Non un redirection avec header() comme auparavant.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 46
    Points : 28
    Points
    28
    Par défaut
    Bonjour,
    Je ne suis pas sur d'avoir bien compris ton problème mais sinon tu peut utiliser l'attribut required qui permet en cas de champ vide d’empêcher la validation du formulaire et de mettre le champ vide en surbrillance rouge. Et du coup comme le formulaire ne se valide pas les valeurs précédemment saisit ne devraient pas s'effacer.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="text" required>

  6. #6
    Membre expérimenté
    Homme Profil pro
    Développeur C++
    Inscrit en
    Avril 2012
    Messages
    771
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 771
    Points : 1 631
    Points
    1 631
    Par défaut
    Bonjour,
    Cette méthode est utile pour les personnes passant par un navigateur WEB (90% des cas je te l'accorde), sauf que des petits malins peuvent t'envoyer des requêtes HTTPs sans passer par ta page, ensuite si dans ton traitement tu ne vérifie pas que chaque valeur nécéssaire au bon fonctionnement de ton traitement est présent tu risque de le voir planter.

    Pour ce que tu veut faire il te suffit de faire un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    //$_POST ou $_GET selon ton cas, tu test chaque variable obligatoire
    if( !empty($_POST['champ1']) AND !empty($_POST['champ2']) AND ... ){
        header('Location : traitement.php?champ1=' . $_POST['champ1'] . '&...');
    }else{
        //J'affiche mon formulaire avec les valeurs reçus s'il y'en a
    ?>
        <input type="text" name="champ1" value="<?php if(!empty($_POST['champ1'])) echo $_POST['champ1'];?>" />
     
        <input type="text" name="champ2" value="<?php if(!empty($_POST['champ2'])) echo $_POST['champ2'];?>" />
    <?php
    }
    ?>

Discussions similaires

  1. [AC-2010] macro retour sur formulaire aprés impression
    Par manu52 dans le forum IHM
    Réponses: 8
    Dernier message: 22/06/2012, 09h55
  2. retour sur formulaire principal
    Par marcmarc150 dans le forum IHM
    Réponses: 0
    Dernier message: 21/07/2010, 07h44
  3. Contrôle de formulaire, test du "false" de retour sur erreur
    Par lodan dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 17/01/2007, 17h16
  4. Réponses: 2
    Dernier message: 08/09/2006, 14h14
  5. Réponses: 6
    Dernier message: 27/07/2006, 18h24

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