templeet warning avec fonction php

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : templeet warning avec fonction php

par konjiki » 07 juin 2006, 17:40

ElePHPant

par Ryle » 07 juin 2006, 17:32

Bah il aurait collé ses header() en début de page, t'aurais très bien pu les y laisser tes retours à la ligne, et vu que tu ne seras pas le dernier à faire l'erreur, il ferait tout aussi bien de se remettre un peu en cause avant de sortir la hache... (enfin j'dis ça, moi j'm'en fout, chuis loin ! ;))

Cela dit, j'irais pas jusqu'à dire que je te l'avais bien dit, mais... je te l'avais bien dit ;)
Ce ne sont pas les retours chariot qu'il faut spécialement viré, mais tout ce qui est sortie html... ca peut être un saut de ligne ou un espace au début de ton fichier avant le premier <?php, la même chose perdue entre ?> et <?php... ca peut aussi etre à cause d'un print ou un echo :)

par konjiki » 07 juin 2006, 17:25

j'ai trouvé la solution, quand j'ai dit à mon tuteur qu'il fallait deplacer des lignes de code il a vu rouge :axe:
Donc la solution les amis est vraiment tres conne et pourtant pour celui qui ne sait pas c'est pas evident:
Verifier bien qu'il n'y est plus aucune ligne apres avoir fermé votre balise php
Perso c'est ça qui me foutait la merde voila merci à ceux qui m'ont aidé.

Derniere pensée pour toi Ryle: eplucher le code pendant 3h la voila la rigueur :wink:
a+

par konjiki » 07 juin 2006, 11:42

je sais pas mais en tout cas c'etait sortie au moment opportun :P
bon je vais tester et je vous donne des nouvelles

par Ryle » 07 juin 2006, 11:36

Hors sujet : quel est le rapport avec les signatures ?
C'était juste que mon message faisait référence à la signature de Konjiki ;)
la fantaisie, oui...mais toujours avec un peu de rigueure ;)

par mere-teresa » 07 juin 2006, 11:27

Hors sujet : quel est le rapport avec les signatures ?

par konjiki » 07 juin 2006, 11:25

que dire sinon bonne repartie je test

par Ryle » 07 juin 2006, 11:24

Tu fais une copie de ton fichier que tu ranges bien précieusement à l'abri (ça c'est pour la partie rigueur, comme ça quoi qu'il arrive tu pourras le restaurer :)) et tu te lache sur le fichier pour bidouiller, tester, t'amuser à changer des trucs.. (et ca c'est pour la partie fantasie ;))

(Comme quoi bien choisir sa signature, c'est important ;))

par konjiki » 07 juin 2006, 11:20

vous etes sur que c'est une bonne idée de toucher au fichier templeet.php ?
J'ai peur de foutre le bordel vous comprenez...

par mere-teresa » 07 juin 2006, 11:10

Remonter les lignes header() dans le code, je pense.

par Ryle » 07 juin 2006, 11:10

Toute la partie
   if ($cache==0) { 
        header("Expires: Mon, 17 Jul 1978 05:00:00 GMT"); 
        header('Last-Modified: '.gmdate('D, d M Y H:i:s',time()).' GMT'); 
        header("Cache-Control: no-store, no-cache, must-revalidate");//HTTP/1.1 
        header("Cache-Control: post-check=0, pre-check=0", false); 
        header("Pragma: no-cache"); //HTTP/1.0 
    } 
doit être appelée avant que tu ne commences à renvoyer des infos au navigateur. Il te faut donc l'appeler avant de faire appel à ton (ou tes) template(s). Il te suffit pour cela de placer ce bout de code au début de ton script (à priori où tu veux, tant que c'est avant le premier envoi de html :))

par konjiki » 07 juin 2006, 11:06

apres quelques essais je suis pas sur d'avoir compri :oops:
tu entends quoi par remonter le code des headers?

par konjiki » 07 juin 2006, 10:49

oki j'essaye ça tout de suite

par Ryle » 07 juin 2006, 10:45

C'est une question d'ordre.. en fait si on résume tu fais quelque chose comme ceci dans ton script principal :

1. un traitement quelconque qui va faire appel au template
2. puis un traitement qui renvoi les headers()

Le problème je pense provient du fait que le template renvoi du code html dès que tu l'appel (<div class="liste_portails"> ... ) indépendament de ta fonction menu_portail, et par conséquent, les headers ne peuvent plus être envoyés.

Remonte le code des headers avant l'appel au template pour qu'ils soient envoyés avant tout flux html, cela devrait te résoudre le problème :)

par konjiki » 07 juin 2006, 10:35

je viens d'essayer quelque chose et le je comprend pas le resultat :shock:
J'ai enlevé tous le code de ma fonction menu_portail mais je continu à l'appeler et la j'ai toujours une erreur de header.
Comment ça se fait puisque ma fonction est vide.