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

Symfony PHP Discussion :

isValid après un clear cache du navigateur


Sujet :

Symfony PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 91
    Points : 51
    Points
    51
    Par défaut isValid après un clear cache du navigateur
    Bonjour,

    Je test un formulaire avec "$this->form->isValid()" qui fonctionne normalement,
    c'est à dire bien.
    Mais quand je vide le cache du navigateur, il ne passe plus dans le isValid.
    Apparemment, il perd la validité du formulaire reçu avant le clear/

    Une petite explication?


    Merci

  2. #2
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Points : 8 486
    Points
    8 486
    Par défaut
    J'ai besoin de plus de précision sur l'enchainement des événements !

    Je ne vois pas où intervient ton CC entre la réception des données du formulaire, en POST ou GET et la validation.
    Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).

    • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
    • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
    • Une discussion est terminée ? Alors le bouton est votre ami !

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 91
    Points : 51
    Points
    51
    Par défaut
    Rien de plus naturel :
    le "fl" est pour faire le "bind" avec le formulaire
    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
     
        public function executeAccueil(sfWebRequest $request)
        {
            $filtre = $request->getPostParameter('fl', NULL);
            $this->form_filtre = new FiltreForm();
     
            if($request->isMethod('post')){
                $this->form_filtre->bind($filtre);
                if($this->form_filtre->isValid())
                {
    // mon code
                }
                else
                {
                    //$this->redirect404();
                }
            }
            else
            {
            }
        }
    Cela fonctionne parfaitement tant que le cache navigateur n'est pas supprimé.
    Même après l'erreur, si on relance le site, cela fonctionne à nouveau.

    lance le site + submit -> ok
    clear cache navigateur
    submit -> plantage
    page précédente + submit -> ok

    Je ne l'ai pas précisé mais c'est seulement après le submit, un refresh de la page fonctionne ce qui est assez logique puisque ne passe pas par le "isvalid"

    merci

  4. #4
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Points : 8 486
    Points
    8 486
    Par défaut
    Le cache du navigateur!!!

    Quant on parle cache dans symfony il est tellement naturel de penser au cache du framework que j'en ai oublié que le navigateur en avait un lui aussi !

    Je ne sais pas quel navigateur tu utilises et je n'ai jamais creusé la question, mais je pense que lorsque tu supprimes ainsi le cache tu dois aussi supprimer des données qui circulent masquées dans le form. Donc le retour est incomplet et donc le form plante. Regarde dans ta barre de debug la variable request entre les deux cas et tu devrais trouver la donnée manquante.

    La solution ? ne pas vider le cache du navigateur lors de l'édition d'un form. En fait, je n'ai jamais eu ce type de problème sur aucun de mes sites, mais je n'ai jamais entendu parler d'un utilisateur vicieux qui viderait son cache en cours de travail ! Ceci confirme que le bug principal d'un ordinateur ce situe entre le dossier du fauteuil et le clavier !

    Un truc dans ton code, tu aurais largement intérêt à remplacer ton if par un :
    $this->forward404If() ce qui est plus lisible.
    Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).

    • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
    • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
    • Une discussion est terminée ? Alors le bouton est votre ami !

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 91
    Points : 51
    Points
    51
    Par défaut
    Truc bizarre, quand je fais la même chose sous IE, ça passe sans problème (pour une fois lol)
    Je continue mes investigations.
    Sinon, autre chose :
    En cherchant un peu sur le net, je suis tombé sur ce lien : http://www.dr-hamizo.com/forum/showt...1407#post31407
    Bizarre, on vous pique les posts
    en plus c'est même pas ma photo

  6. #6
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Points : 8 486
    Points
    8 486
    Par défaut
    Je continue a considérer que, hors recherche purement théorique, c'est un cas de figure qui est tellement rare qu'il ne me semble pas intéressant d'y consacrer de la littérature.

    Si jamais cela devait t'arriver, il faudra conseilller à ton utilisateur de ne pas vider le cache de son navigateur alors qu'il saisit un écran.

    Pour l'autre information, c'est noté, merci pour l'information, elle est en cours de traitement.
    Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).

    • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
    • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
    • Une discussion est terminée ? Alors le bouton est votre ami !

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 91
    Points : 51
    Points
    51
    Par défaut
    Personnellement, je pense que c'est important,
    il arrive (ça m'est arrivé) qu'un utilisateur ait plusieurs fenêtres d'ouvertes dont mon site et si, sur une fenêtre autre que la mienne, il souhaite effacer le cache du navigateur pour x raisons, si il revient sur mon site, et qu'il refait un sbmit, le site plante.

  8. #8
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Points : 8 486
    Points
    8 486
    Par défaut
    Réellement, je pense que tu te prends la tête avec des problèmes qui n'en sont pas.

    Après, et à moins d'avoir la possibilité de réécrire les différents explorateur, je pense que la solution est hors de notre portée.
    Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).

    • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
    • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
    • Une discussion est terminée ? Alors le bouton est votre ami !

Discussions similaires

  1. Réparer JWS après un clear du cache
    Par pcouas dans le forum JWS
    Réponses: 16
    Dernier message: 05/06/2013, 06h51
  2. Aller contre la mise en cache du navigateur avec PHP
    Par sosophie dans le forum Langage
    Réponses: 3
    Dernier message: 12/01/2008, 11h14
  3. [HTTP] Cache-Control, navigateurs et bouton "Précédent"
    Par adiGuba dans le forum Général Conception Web
    Réponses: 2
    Dernier message: 21/09/2007, 17h53
  4. image blob stocké dans le cache du navigateur
    Par neril dans le forum Langage
    Réponses: 7
    Dernier message: 18/02/2007, 00h08
  5. mise en cache du navigateur
    Par littleqi dans le forum ASP
    Réponses: 4
    Dernier message: 03/06/2005, 15h18

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