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 :

[PHP-JS] Méthodologie pour le traitement des saisies sur un form ?


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 401
    Points : 120
    Points
    120
    Par défaut [PHP-JS] Méthodologie pour le traitement des saisies sur un form ?
    Salut à tous,

    je suis en train de préparer une classe de formulaire.
    Et je suis bloqué au niveau analyse sur ce point :

    Je souhaite donc envoyer les données à traiter sur une page php autre que celle qui affiche le formulaire, si dans la page de traitement je vois que la saisie n'est pas bonne, je souhaite réafficher le formulaire avec les valeurs qui ont été saisies, et afficher les erreurs sur la même page du formulaire.

    Merci pour votre aide !

    David
    www.ou-dejeuner.com A chacun son déjeuner ! |Blackprism.org

  2. #2
    Membre à l'essai
    Inscrit en
    Janvier 2006
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 19
    Points : 23
    Points
    23
    Par défaut
    Pour vérifier les saisies, utilise la fonction eregi (cf. http://us3.php.net/eregi) et renvois les messages d'erreur des champs mal remplis sur la page de ton formulaire par GET.

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2005
    Messages : 774
    Points : 936
    Points
    936
    Par défaut
    moi je te conseille plutot de rester sur la meme page pour traiter les informations
    Les hommes naissent et demeurent libres et egaux en dignité et en droit. Les distinctions sociales ne peuvent etre fondées que sur l'utilité commune. Article 1 droits et de l'homme et du citoyen. 1789

  4. #4
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Citation Envoyé par ouatmad
    moi je te conseille plutot de rester sur la meme page pour traiter les informations

    Oui je pense qu'il vaut mieux traiter les erreurs avec du JavaScript au moment de la validation.
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

  5. #5
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 249
    Points : 1 565
    Points
    1 565
    Par défaut
    Citation Envoyé par JWhite
    Oui je pense qu'il vaut mieux traiter les erreurs avec du JavaScript au moment de la validation.
    Horreur !

    Non... tu peux ajouter des controles javascripts pour des raisons de rapidité, mais TOUT les controles javascript doivent etre doublés en php... que se passe t'il si l'utilisateur a désactivé le js ? tu va prendre le risque d'envoyer n'importe quoi a ton script ? moi pas ;o)

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 401
    Points : 120
    Points
    120
    Par défaut
    Merci à tous pour vos aides !
    Oui j'évite le javascript, je préfère faire le controle côté serveur (pour éviter que les petits malin passe outre le controle javascript).

    Vous avez l'air de confirmer que la meilleure solution reste de faire le controle sur le même script que l'affichage du formulaire.
    Sinon la soluce en rebalançant les messages d'erreurs via GET comme propose duble, m'a l'air aussi très bien, qu'en pensez-vous ?
    www.ou-dejeuner.com A chacun son déjeuner ! |Blackprism.org

  7. #7
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 249
    Points : 1 565
    Points
    1 565
    Par défaut
    a condition de ne pas faire un bete echo $_GET['message_erreur']...
    je prefere utiliser une codique genre :

    ?erreur[]=manque_prenom

    et avoir un tableau :

    $listeMessageErreurs=array(
    'manque_prenom' => 'Vous avez oublié de saisir le prénom !',
    ...
    );

    Comme ca :
    * tout tes messages d'erreurs sont au meme endroits
    * Tu peux remonter plusieurs erreurs avec ?erreur[]=...&erreur[]=...&erreur[]=...
    * Tu restes maitre du message affiché, si un petit malin change l'url il ne pourra pas afficher un message ecrit par lui (pose des problemes de sécurité sinon)

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 401
    Points : 120
    Points
    120
    Par défaut
    Citation Envoyé par Fladnag
    a condition de ne pas faire un bete echo $_GET['message_erreur']...
    je prefere utiliser une codique genre :

    ?erreur[]=manque_prenom

    et avoir un tableau :

    $listeMessageErreurs=array(
    'manque_prenom' => 'Vous avez oublié de saisir le prénom !',
    ...
    );

    Comme ca :
    * tout tes messages d'erreurs sont au meme endroits
    * Tu peux remonter plusieurs erreurs avec ?erreur[]=...&erreur[]=...&erreur[]=...
    * Tu restes maitre du message affiché, si un petit malin change l'url il ne pourra pas afficher un message ecrit par lui (pose des problemes de sécurité sinon)
    Oui c'est bien ce que je comptais faire
    Merci en tout à tous ! Je FLAG resolu le thread
    www.ou-dejeuner.com A chacun son déjeuner ! |Blackprism.org

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 401
    Points : 120
    Points
    120
    Par défaut
    Je réouvre le sujet, car le $_GET ne peux pas porter + de 255 char
    J'ai essayé de serializer un tableau mais çe ne passer pas, l'url est tronqué !
    Quelqu'un aurait il une méthode plus approprié ?
    www.ou-dejeuner.com A chacun son déjeuner ! |Blackprism.org

  10. #10
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Je crois qu'avec POST au lieu de GET il n'y a plus le problème de longueur (à vérifier...).
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 401
    Points : 120
    Points
    120
    Par défaut
    Citation Envoyé par JWhite
    Je crois qu'avec POST au lieu de GET il n'y a plus le problème de longueur (à vérifier...).
    On m'a conseillé d'utiliser les $_SESSION je vais faire essayé ça
    www.ou-dejeuner.com A chacun son déjeuner ! |Blackprism.org

  12. #12
    Membre à l'essai
    Inscrit en
    Janvier 2006
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 19
    Points : 23
    Points
    23
    Par défaut
    Citation Envoyé par shadeoner
    Je réouvre le sujet, car le $_GET ne peux pas porter + de 255 char
    J'ai essayé de serializer un tableau mais çe ne passer pas, l'url est tronqué !
    Quelqu'un aurait il une méthode plus approprié ?
    Fais plutôt un tabeau codé que tu décodes dans la page de ton formulaire style :

    ?erreur[]=p1

    et donc le tableau :

    $ErrorMsgs=array('p1'=>"Oubli de prénom",'p2'=>"Prenom mal renseigné" ...

    Ca fera moins long dans ton URL.

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

Discussions similaires

  1. quel diagramme pour le traitement des données
    Par Smix007 dans le forum Visio
    Réponses: 0
    Dernier message: 06/08/2012, 17h41
  2. [Débutant] Exceptions pour la gestion des saisies utilisateurs
    Par CompuTux dans le forum C#
    Réponses: 4
    Dernier message: 19/08/2011, 01h07
  3. Réponses: 1
    Dernier message: 24/05/2007, 18h09
  4. Ordre de traitement des opérateurs sur un select
    Par tchoimars dans le forum Langage SQL
    Réponses: 1
    Dernier message: 16/05/2007, 18h42
  5. Demande un Logiciel de traitement des graphes sur linux
    Par razouk dans le forum Applications et environnements graphiques
    Réponses: 4
    Dernier message: 09/05/2006, 20h45

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