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 :

Test soumission puis POST


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 153
    Points : 52
    Points
    52
    Par défaut Test soumission puis POST
    bj

    je voudrais créer un formulaire, tester les velurs saisies et si ok alors renvoyer les valeurs des champs en _POST vers un autre formulaire.

    effectuer les tests , je pense savoir faire
    par contre, j'ai du mal à imbriquer le code pour pouvoir reposter en _POST vers une autre page ce formulaire si les valeurs sont OK

    je crois que HEADER Location ne renvoie pas les POST

    merci

  2. #2
    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 : 39
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    bonjour

    Je pense que la réponse à ta question pédend de la façon dont tu effectues tes tests Donc si tu as déjà écrit le test, donne-nous le code, on gagnera du temps

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 153
    Points : 52
    Points
    52
    Par défaut
    heu pas vraiment encore vu celà

    je reflechis en amont

    j'imagine tester si les variables POST des champs sont vides ou pas , alimenter une variable $erreur, et afficher un message en haut du champ input impliqué dans le test

    puis quand il n'y a plus d'erreur, je soumets mon form en POST

  4. #4
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    Par défaut
    Soit tu fais ta vérification en javascript, ce qui te permet de ne jamais poster ton formulaire tant qu'il n'est pas valide (pas de rechargement de page, pas besoin d'avoir une seconde page qui va mémoriser les valeurs et les reposter ou d'avoir plusieurs cas dans le meme script)

    Ou alors tu preferes le faire en php, dans ce cas, le plus simple a mon avis est de tester toutes tes valeurs en début de script (if isset, etc.).

    Ensuite tu préremplis le formulaire avec les valeurs saisies de $_POST ce qui permet si le formulaire n'est pas valide d'avoir gardé les valeurs pour que l'utilisateur ne retape pas tout). Et si le formulaire est valide tu n'as plus qu'a le poster directement (sans avoir besoin que l'utilisateur reclique sur le bouton) pour ca tu fais du javascript en utilisant ca : "document.nomduformulaire.submit()"
    par contre faudra changer le script destinataire (en gros action = soi meme si on n'a pas encore "validé les champs" sinon action = script destinataire).

    j'espère avoir été assez compréhensible!

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 153
    Points : 52
    Points
    52
    Par défaut
    oui compris

    c'est la parie: "document.nomduformulaire.submit()"
    par contre faudra changer le script destinataire (en gros action = soi meme si on n'a pas encore "validé les champs" sinon action = script destinataire).

    qui est moins claire.

    en focntion des resultats de ma validation en PHP, je change le "nomduformulaire" , ce qui signafie que j'ai 2 "form action=" avec une action différente dans mon code ?

  6. #6
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    Par défaut
    Je verrai quelquechose de ce style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    if($formulaireValide)
    {
    echo "<form name=\"monformulaire\" action =\"destinataire.php\">";
    }
    else // formulaire non valide
    {
    echo "<form name=\"monformulaire\" action =\"moimeme.php\">";
    }

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 153
    Points : 52
    Points
    52
    Par défaut
    oui j'entends bien un truc comme ça
    sauf que pour initialiser la variable $formulairevalide, il faut avoir soumis une premiere fois le formulaire.

    je soumets
    il y a tests en PHP
    $formulairevalide = 1
    et comment le formuliare peut il être ressoumit sans une action BOUTON ?

  8. #8
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    Par défaut
    Citation Envoyé par lolodev
    sauf que pour initialiser la variable $formulairevalide, il faut avoir soumis une premiere fois le formulaire.
    Non, il suffit que tu décides ce qui se passe au premier chargement (et justement au premier chargement le formulaire n'est pas valide vu que tu n'as rien a valider dans $_POST[] donc tu sais que tu dois utiliser l'action qui te renvoie sur ton script générant le formulaire

    Citation Envoyé par lolodev
    et comment le formuliare peut il être ressoumit sans une action BOUTON ?
    Comme dit plus haut, en utilisant une commande javascript comme ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.nomformulaire.submit();

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 153
    Points : 52
    Points
    52
    Par défaut
    suite au 1 ire chargement, $formulairetest=0, donc form action=lui meme
    je remplis les champs

    je soumets le formulaire
    le test est ok
    $formulairetest=1 donc action=form suivant
    mais là, le formulaire a déjà été posté precedement
    donc il faut bien une nouvelle soumission ??pour aller vers le formulaire suivant

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 153
    Points : 52
    Points
    52
    Par défaut
    humm c bon !!
    la ftc javascript s'excute sans resoumission

    ok

    merci!

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

Discussions similaires

  1. Session unset puis post null
    Par fahdo dans le forum Langage
    Réponses: 3
    Dernier message: 23/09/2010, 14h29
  2. Envoyer des données POST à une page web puis récupérer l'URL
    Par Ze moi dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 23/04/2007, 18h18
  3. Réponses: 3
    Dernier message: 09/04/2007, 16h29
  4. [vba-access] Test sur valeur des champs puis publipostage
    Par realthunderbolt dans le forum Access
    Réponses: 1
    Dernier message: 01/08/2006, 17h38

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