Bonjour,
Bon c'est la suite du topic sur les cookies et le référencement, mais là c'est plus technique alors j'ouvre un nouveau thread dans la section approprié :
Voilà, j'ai donc un disclaimer sur un site.
Ce disclaimer fonctionne avec un cookie PHP, testé sur toutes les pages. S'il n'est pas initialisé ou si sa valeur est "non", le visiteur est redirigé vers le disclaimer de index.php .
Ca, ça fonctionne.
Maintenant, je veux améliorer le système : si le gars arrive via un lien profond, il est redirigé vers l'accueil pour qu'il certifie son âge. Et ensuite, le header le renvoit sur la page par laquelle il était arrivé.
Ca, ça fonctionne pas encore.
Voilà comment j'ai fait (en partie grâce à vous, cf le topic précédent) :
En haut de toutes les pages du blog :
Donc ici, le gars est bien redirigé vers l'index.
Et sur l'index, je fais cela :
Donc là, ça ne fonctionne pas. On arrive toujours sur la page par défaut.
Mais en plus, pas moyen d'afficher la valeur du cookie page. Pourtant je regarde dans le navigateur et il y est initialisé et sa valeur est bien celle de la page précédente.
Voilà, merci d'avance pour votre précieuse aide
Bon c'est la suite du topic sur les cookies et le référencement, mais là c'est plus technique alors j'ouvre un nouveau thread dans la section approprié :
Voilà, j'ai donc un disclaimer sur un site.
Ce disclaimer fonctionne avec un cookie PHP, testé sur toutes les pages. S'il n'est pas initialisé ou si sa valeur est "non", le visiteur est redirigé vers le disclaimer de index.php .
Ca, ça fonctionne.
Maintenant, je veux améliorer le système : si le gars arrive via un lien profond, il est redirigé vers l'accueil pour qu'il certifie son âge. Et ensuite, le header le renvoit sur la page par laquelle il était arrivé.
Ca, ça fonctionne pas encore.
Voilà comment j'ai fait (en partie grâce à vous, cf le topic précédent) :
En haut de toutes les pages du blog :
Code:
//on va vérifier si le visiteur est un bot, si oui, il n'a pas besoin de cookie (ou il n'indexera jamais les pages)
$moteur_tab=array("bot","Scooter","Slurp","Voila","WiseNut","Fast","Index","Teoma","Mirago","search","find","loader","archive","Spider","Crawler");
foreach($moteur_tab as $key)
// si ce n'est pas un bot, on fait le test du cookie :
if(!stristr($_SERVER['HTTP_USER_AGENT'],$key))
{
if(!isset($_COOKIE["majeur"]) OR $_COOKIE["majeur"]=='non')
{
//on créé un cookie pour lui adjoindre la valeur de la page en cours et s'en servir dans le header du disclaimer afin de rediriger directement sur la page souhaitée au départ, en l'occurence celle visitée lors de cette instruction.
$page=$_SERVER['PHP_SELF'];
setcookie
(
"page",
"$page"
);
die(header('Location: http://www.site.com'));
}//ferme if !isset $cookie
;}//ferme if !isset stristr()
Et sur l'index, je fais cela :
Code:
// avant cela, il y a les instructions pour vérifier l'âge du gars
// si tout est bon, on initialise le cookie "majeur" à "oui", et les autres pages s'afficheront alors.
setcookie
(
"majeur",
"oui"
);
//si le gars est arrivé par l'accueil, il n'y a pas de cookie page, on le redirige donc vers la page par défaut. Sinon, la valeur du header prend celle de la variable page dans le cookie (initialisée en haut des pages des blogs lors de l'instruction de test des cgu, voir bloc de code précédent)
if(!isset($_COOKIE["page"]))
{header($he);}// page par défaut
if(isset($_COOKIE["page"]))//si il y a le cookie page, ça signifie que le gars était arrivé par une page du blog et donc on le redirige (théoriquement...) sur celle-ci :
{
$page=$_COOKIE["page"];
header($page);}// page d'arrivée sur le blog
;}
Mais en plus, pas moyen d'afficher la valeur du cookie page. Pourtant je regarde dans le navigateur et il y est initialisé et sa valeur est bien celle de la page précédente.
Voilà, merci d'avance pour votre précieuse aide