Bonjour à tous!
Je dois faire de grosses erreurs. J'ai besoin de votre aide.
Il semble que j'aie un problème avec la cache. Quand je désactive la cache pour tout le site (avec le plugin Couteau Suisse) tout fonctionne. Quand la cache est à ON et que ce n'est pas un administrateur qui utilise le site, on dirait que ca fait déconner ma redirection utilisant la fonction header en php.
Voici un exemple de ce que mon code fait:
A - J'ai un ARTICLE qui contient du texte et un MODELE que je me sers pour inclure des squelettes aux ARTICLES:
L'abonnement suggéré est par le service Paypal. Simple, facile et pratique. L'abonnement, au coût de 20$, est valide de {{septembre 2007}} jusqu'en {{mai 2008}}. N'oubliez pas de regarder les avantages que vous procure votre adhésion à l'AUS en visitant nos partenaires.
<modele|inclure|monfond=paiementPaypal>
B - le modele_inclure.html a cette ligne de code:
<INCLURE {fond=#ENV{monfond}}>
C - mon squelette paiementPayPal fait des vérifications pour savoir si l'utilisateur est inscrit ou non au site. Si l'utilisateur n'est pas inscrit, il redirige vers une autre page avec la fonction header:
if (!$id_auteur)
header('Location:' . str_replace("&","&",$redirection) . '1');
En gros c'est le portrait. Quand le cache est désactivé le id_auteur a la bonne valeur et tout marche. Quand le cache est activé et que l'utilisateur est un simple visiteur (versus un administrateur), id_auteur est à vide (premier problème!), le code entre dans le IF mais n'EXÉCUTE PAS la redirection de la fonction HEADER (deuxième truc weird!).
Merci pour toute aide. Je ne comprend pas vraiment pas ce qui se passe.
Vincent
Vincent Voyer vvoyer@bonzaiweb.com a écrit :
Bonjour à tous!
Je dois faire de grosses erreurs. J’ai besoin de votre aide.
Il semble que j’aie un problème avec la cache. Quand je désactive la
cache pour tout le site (avec le plugin Couteau Suisse) tout fonctionne.
Quand la cache est à ON et que ce n’est pas un administrateur qui
utilise le site, on dirait que ca fait déconner ma redirection utilisant
la fonction header en php.
Voici un exemple de ce que mon code fait:
A - J’ai un ARTICLE qui contient du texte et un MODELE que je me sers
pour inclure des squelettes aux ARTICLES:
L’abonnement suggéré est par le service Paypal. Simple, facile et
pratique. L’abonnement, au coût de 20$, est valide de {{septembre 2007}}
jusqu’en {{mai 2008}}. N’oubliez pas de regarder les avantages
que vous procure votre adhésion à l’AUS en visitant nos partenaires.
<modele|inclure|monfond=paiementPaypal>
B - le modele_inclure.html a cette ligne de code:
<INCLURE {fond=#ENV{monfond}}>
C - mon squelette paiementPayPal fait des vérifications pour savoir si
l’utilisateur est inscrit ou non au site. Si l’utilisateur n’est pas
inscrit, il redirige vers une autre page avec la fonction header:
if (!$id_auteur)
header(‹ Location: › . str_replace(« & »,« & »,$redirection) . ‹ 1 ›);
En gros c’est le portrait. Quand le cache est désactivé le id_auteur a
la bonne valeur et tout marche. Quand le cache est activé et que
l’utilisateur est un simple visiteur (versus un administrateur),
id_auteur est à vide (premier problème!), le code entre dans le IF mais
n’EXÉCUTE PAS la redirection de la fonction HEADER (deuxième truc weird!).
Merci pour toute aide. Je ne comprend pas vraiment pas ce qui se passe.
Vincent
Petit début d’explication possible : un MODÈLE ou un INCLURE statique enregistre toujours dans le fichier mis en cache le résultat obtenu par le squelette qu?il contient et non le squelette lui-même. Même si tu as du PHP dans un INCLURE dynamique dans un MODÈLE, c?est le résultat de ton code qui sera enregistré dans le cache et non le code PHP parce que tu utilises ici un MODÈLE. Si tu ne passais pas par un modèle, alors, oui, ton code PHP serait mis en cache et non son résultat.
Je me suis amusé en ce dimanche matin à faire un petit article illustrant la question. Si ça peut t?aider : http://monsitespip.com/spip.php?article38
Iago
liste spip
spip@rezo.net - désabonnement : spip-off@rezo.net
Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Documentation de SPIP : http://www.spip.net/
irc://irc.freenode.net/spip
FAQ : http://www.spip.net/fr_article1054.html