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 :

Mon script s'exécute deux fois


Sujet :

Langage PHP

  1. #1
    Membre confirmé
    Homme Profil pro
    Ingénieur validation
    Inscrit en
    Mars 2005
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur validation
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2005
    Messages : 80
    Par défaut Mon script s'exécute deux fois
    Bonjour à tous,

    étant donné que je ne sais pas d'où mon problème vient, je vous fait par de ce petit soucis : dans ma zone d'administration de mon site, j'appelle dans ma page des fichiers avec include(). Ces fichiers m'exécutent des scripts (j'ai utilisé cette méthode pour éviter d'avoir une page qui fasse 500 ko - mais si vous avez un autre moyen, je suis ouvert).
    Donc jusqu'ici tout va bien. Seulement j'ai découvert que de temps en temps (et de manière aléatoire) quelques fois un script s'exécute deux fois, me créant deux fois la même actualité par exemple. Cela devient gênant pour l'envoi de newsletter aussi.
    Je pense à un chargement de page trop long qui fait que lorsque j'enchaine les clics sur d'autres fonctions, génèrent un deuxième lancement, étant donné que l'exécution de la page ne s'est pas entièrement terminé. Qu'en pensez-vous?

    Je ne peux pas vous envoyer de code, sinon il faudrait 10 pages à ce fil

    Quelqu'un à t-il une idée à propos de mon problème ou de la manière dont j'ai fait mon admin?
    (elle est du genre page.php?action=newsletter, page.php?action=actualites, etc... et à chaque fois, newsletter ou actualites incluent une page de script qui s'exécutent dans la page "page.php")

    Merci
    Clément

  2. #2
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    Salut

    Comme ça au feeling, je dirais que tu inclus 2 fois le même fichier.
    Faudrait revoir en détail le déroulement, et particulièrement les parties incluses.

    Attention au fichier incluent, qui eux même en inclus d'autres.
    Par moment, on peu avoir recourt à require_once() ou include_once().


    j'ai utilisé cette méthode pour éviter d'avoir une page qui fasse 500 ko - mais si vous avez un autre moyen, je suis ouvert.
    Ce n'est pas suffisant pour déduire qu'il y aurait un manque quelque part.
    Mais avoir une page qui fait 500Ko de script ou fragmenter celle ci en 10 ou 20 include() revient au même, au bout ça fera toujours 500Ko.
    C'est juste un confort personnel pour éviter d'avoir un gros fichier.

    L'intérêt des includes, c'est qu'ils soient utilisés plusieurs fois, au moins 2 fois dans d'autres pages.
    Ca devrait être ton cas je pense malgré tout.

    Les 2 seuls moyens à mon sens de rationaliser tous ces includes, c'est d'utiliser des fonctions, ou mieux, la POO (l'objet).

  3. #3
    Membre expérimenté

    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    191
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 191
    Par défaut
    j'ai remarqué qu'avec firefox (je ne sais plus quelle version) une balise html image vide provoquai un rechargement donc possible qu'une erreur html fait que le navigateur recharge la page d'ou le doublon.

  4. #4
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    Citation Envoyé par Helfima
    ... donc possible qu'une erreur html fait que le navigateur recharge la page d'ou le doublon.
    J'en doute Helfima, à mon sens tu te fais une idée fausse sur le comment les choses se déroulent.
    Ce n'est pas parce que une page est rechargée que le contenu s'accumule, ce n'est pas logique, j'ai jamais vu ça, et ça me semble impossible.
    Quant tu actualise une page, ou que tu clique sur un lien qui mène vers la même page, on ne fait que lancer à nouveau une requête HTTP au serveur, se qui fait que celui ci va renvoyer le même contenu.
    Au bout, le navigateur (poste client) reçois le contenu, la page est à nouveau reconstruite.


    Le fait qu'une image vide provoque un rechargement de la page, ça me semble aussi impossible, j'ai jamais remarqué ça, mais on peu admettre qu'une version de Firefox soit buggée.

    Toujours est il que le plus probable c'est que le doublon de contenu découle d'un code Php ou HTML qui est dupliqué quelque part.
    2 fois un include, ou une boucle for, foreach, while ... de trop par là.

  5. #5
    Membre confirmé
    Homme Profil pro
    Ingénieur validation
    Inscrit en
    Mars 2005
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur validation
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2005
    Messages : 80
    Par défaut
    de mon côté j'ai regardé d'un peu plus près mon code, mais pas d'include, ou de boucles en doublons. Si c'était le cas, les doublons seraient systématiques, mais c'est vraiment très aléatoire.
    Bon, ce n'est pas non plus "paralysant" pour le développement du site, donc ça va encore...

  6. #6
    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
    Par défaut
    Le fait qu'une image vide provoque un rechargement de la page, ça me semble aussi impossible, j'ai jamais remarqué ça, mais on peu admettre qu'une version de Firefox soit buggée.
    Sur certaines versions de firefox si tu écris par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <link href="" rel="stylesheet" type="text/css" />
    c'est la page courante qui est appellée une deuxieme fois ; si la page execute une requete d'insertion, l'insertion a lieu deux fois.

    Concernant le problème, parle t'on de voir deux fois le contenu sur la page ou bien d'avoir les données en double dans la base ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 25/02/2010, 19h07
  2. servlet s'exécute deux fois
    Par Bubu017 dans le forum Struts 1
    Réponses: 4
    Dernier message: 21/07/2008, 09h07
  3. Requête SQL s'exécute deux fois
    Par brazilia28 dans le forum ASP.NET
    Réponses: 11
    Dernier message: 06/05/2008, 11h55
  4. Script qui s'exécute deux fois ?
    Par ben53 dans le forum Langage
    Réponses: 1
    Dernier message: 29/01/2007, 15h56
  5. pourquoi le script ecrit il deux fois ds le fichier?
    Par makohsarah dans le forum Langage
    Réponses: 1
    Dernier message: 28/09/2006, 17h43

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