A voir également:
- Test acceptation cookies en PHP ?
- Supprimer acceptation cookies - Conseils pratiques - Navigateurs
- Accepter cookies facebook - Forum - Facebook
- Problème connexion facebook à cause cookies - Forum - Facebook
- Erreur fatal en ayant tester un projet wamp/php ✓ - Forum - PHP
- Bandeaux "acceptation cookies" ✓ - Forum - Mozilla Firefox
6 réponses
ShaoShiva
30 juin 2004 à 11:16
- Messages postés
- 106
- Date d'inscription
- mercredi 26 mai 2004
- Statut
- Membre
- Dernière intervention
- 25 janvier 2005
30 juin 2004 à 11:16
Javascript sinon:
http://www.destrucsaweb.com/ressources/phpmyannu/goto_35.php
http://www.destrucsaweb.com/ressources/phpmyannu/goto_35.php
Voici un script PHP testé et approuvé !
* Il détecte si une session est en cours.
* Il protège l'URL du navigateur.
* Le script tient sur une seule page.
* Il invite l'internaute à essayer de nouveau.
* Pas de redirection vers d'autres pages
* Pas besoin de JavaScript
Il faut placer ce script en tête de tout code car on utilise init_set() et header().
* Il détecte si une session est en cours.
* Il protège l'URL du navigateur.
* Le script tient sur une seule page.
* Il invite l'internaute à essayer de nouveau.
* Pas de redirection vers d'autres pages
* Pas besoin de JavaScript
Il faut placer ce script en tête de tout code car on utilise init_set() et header().
ini_set('session.use_trans_sid', 0); ini_set('session.use_only_cookies', 1); session_start(); // Tester si l'utilisateur accepte les cookies $cookiePossible = FALSE; if (isset($_COOKIE["PHPSESSID"])) { $cookiePossible = TRUE; } else { if (isset($_REQUEST['testCookie'])) { $cookiePossible = FALSE; } else { if (isset($_SERVER["QUERY_STRING"]) AND ($_SERVER["QUERY_STRING"]!='')) { header("Location:http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'].'&testCookie=TRUE'); } else { header("Location:http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'].'?testCookie=TRUE'); } exit(); } } if (!$cookiePossible) { echo '<div style="position: absolute; width: 300px; border: 5px solid gray; padding: 8px; margin: 10px; background-color: #FFFFCC; bottom:1%; right:1%">'; echo '<h1 style="text-align: center; text-transform: uppercase; color: #F00;">attention !</h1>'; echo '<div style="text-indent: 50px; text-align: justify; letter-spacing: 2px;"><p>Attention, vous devez accepter les <b>cookies</b> pour utiliser certaines fonctionnalités du site.</p> <p>Merci de votre compréhension.</p> <p>Vous pouvez essayer de nouveau à accéder au site <a href=\'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'].'\'>'.$_SERVER['HTTP_HOST'].'</a></p></div>'; echo '</div>'; exit(); }
ShaoShiva
30 juin 2004 à 11:14
- Messages postés
- 106
- Date d'inscription
- mercredi 26 mai 2004
- Statut
- Membre
- Dernière intervention
- 25 janvier 2005
30 juin 2004 à 11:14
Pourquoi pas la solution que tu proposes? autrement je ne crois pas que ce soit possible.
OK, merci, je ne connaissais pas ce site, mais il faudrait aussi
au préalable tester si le client accepte le javascript...., voir
ce sujet du forum.
au préalable tester si le client accepte le javascript...., voir
ce sujet du forum.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ShaoShiva
30 juin 2004 à 12:00
- Messages postés
- 106
- Date d'inscription
- mercredi 26 mai 2004
- Statut
- Membre
- Dernière intervention
- 25 janvier 2005
30 juin 2004 à 12:00
Moi aussi je ne le connaissais pas ce site avant, j'ai juste fais une recherche sur google ;-)
Pour savoir si le client accepte les cookies il suffit de vérifier la caonstante SID après avoir démarré la session.
Si SID est vide le client accèpte les cookies;
le code:
session_start();
if (SID=='') $cookie=true; //le client accepte les cookies
else $cookie=false;
sinon plus simple mais moins explicite:
session_start();
$cookie=SID=='';
Si SID est vide le client accèpte les cookies;
le code:
session_start();
if (SID=='') $cookie=true; //le client accepte les cookies
else $cookie=false;
sinon plus simple mais moins explicite:
session_start();
$cookie=SID=='';