- Statut : non résolu
- Ce sujet contient 3 réponses, 3 participants et a été mis à jour pour la dernière fois par
Guy, le il y a 11 années.
-
AuteurMessages
-
21 octobre 2010 à 15 h 43 min #487401
Ma configuration WP actuelle
– Version de WordPress : 3.0.1
– Version de PHP/MySQL : 5.3.3
– Thème utilisé : un theme prémium
– Extensions en place : contact form 7, super cache, lightbox2, tinyMCE.
– Nom de l’hebergeur : OVH serveur prive Debian 5 32bit LAMPProblème(s) rencontré(s) :
Bonjour, merci pour toutes l’aide apportée.
à la racine de mon blog j’ai une page intro.html avec une animation DHTML pour introduire mon site.
A la suite d’une aide sur le forum pour utiliser une page d’intro sur un site, j’ai rajouter au début de la page header.php de mon thème.
setcookie(‘MonIntro’, ‘ok’);
header(‘location: intro.html’);
}?>Normalement avec ces paramètres un cookie devrais être envoyer et réactualiser à la fin de la session de l’utilisateur « ouverture/fermeture du navigateur » et afficher la page http://adressedusite.be/intro.html
celà fonctionne…parfois et mal.
Parfois celà fonctionne bien 2-3 fois sur mon navigateur « après ouverture/fermeture du navigateur » et après quelques fois… plus rien, c’est la page d’accueil du site qui s’affiche.
de plus de temps en temps quand je clic sur une des pages du site dans le menu, l’adresse type:
http://adressedusite.be/page1 se transforme au clic en http://adressedusite/page1/intro.html et retourne donc une page d’erreur, quand on clic une 2em fois sur le même lien, alors la page se charge bien sur http://adressedusite.be/page1je doit sans doute mal utiliser le cookies, pas sur la bonne page, erreur dans le code…
Merci pour l’aide.
22 octobre 2010 à 10 h 48 min #743564Personne pour me dire si je fait une erreur dans:
<?php if(!isset($_COOKIE)) {
setcookie(‘MonIntro’, ‘ok’);
header(‘location: intro.html’);
}?>5 juin 2011 à 0 h 49 min #743565Bonjour,
Je vois ici beaucoup de « questionneurs » et bien peu de « repondeurs », je ne sais pas si je me trompe…
Je suis confronte au meme type de difficulte aujourd’hui, pour le meme genre de cas de figure (une page de « couverture » et d’intro sur un blog, un essai de « home-squeeze-page » sur un autre).
J’ai tout d’abord testé les cookies php « classiques » (setcookie(‘bla’,’bla »bla’); if (!isset($_COOKIE)) { action }… Apparemment, cette voie ne fonctionne pas avec wp.
J’ai alors essaye de contourner cet obstacle. En mettant mon nez dans le gestionnaire de cookies (FireFox), j’ai tout d’abord remarque deux choses :
1- A chaque fois que le blog est visite, il y a un cookie de session « PHPSESSID » qui est pose par le moteur de blog Wp pour toute la duree de la visite,
2- Il y a des cookies specifiques tagues « wp_cookie_(qq chose) qui apparaissent.
J’ai donc pose un petit piege en deux lignes a la racine du wp-config.php, où la premiere ligne teste justement la presence du cookie « PHPSESSID » lors de l’ouverture du blog :
01 if (!sset $_COOKIE { // si ce cookie n’est pas mis, c’est qu’il y a bien un debut d’ouverture…
02 setcookie(‘wp_cookie_test_1’, ‘1’, time()+30) /*verifiez la syntaxe de l’heure mais l’idee c’est celle-ci :
* on « leurre » wp en inventant un alias de son cookie-test type, on lui affecte une valeur facile a tester, par ex 0 ou 1,
* et on lui donne une duree de vie breve, par exemple 30 secondes, juste le temps qu’il faut pour precharger une pageCe petit piege en place, j’ai alors bricole le index.php de mon theme ainsi :
<?php if(!isset($_COOKIE) && $_COOKIE == "1") {
wp_template_part(‘intro’); // ‘intro’ appelant ma page intro.php qui appelle la page d’introduction specifique
exit;
}
else { }
wp_head; ?> // debut « classique » de la page index.phpEh bien, vous me croirez si vous voulez :
Ce truc marche UNE FOIS SUR DEUX… seulement 🙂
Un coup ca marche… et un coup ca marche pas 🙂
Alors qui d’autre ici aurait une explication (de preference coherente) aux « petits caprices » de Wp 🙂) ?
Merci, M’sieur-Dames, de votre attention… 🙂
Amicalement,
Mikha5 juin 2011 à 7 h 41 min #743566je ne comprends même pas que cela marche une fois sur deux, cela ne devrait pas marcher du tout.
if(!isset($_COOKIE) && $_COOKIE == « 1 »)
cette ligne dit: si $_COOKIE n’existe pas ET $_COOKIE== « 1 » alors envoyer l’intro.
si il n’existe pas, il ne sera jamais égal à 1.
-
AuteurMessages
- Le forum ‘Utilisation spécifique de WordPress’ est fermé à de nouveaux sujets et réponses.