Page 1 sur 1

Problème de cookies

Posté : 19 juin 2012, 18:54
par StudsMaster
Bonjour,
Je tente de faire une redirection fonction d'un cookies, cependant, ca ne fonctionne pas comme je voudrais... Il fait comme s'il existait pas... Je m'explique :

Je cré mon cookies :

Code : Tout sélectionner

<?php $expiree = 24*31*3600; setcookie("AUTORISATION",'YES' ,time()+$expiree); print ("<script language = \"JavaScript\">location.href = 'accueil.php';</script>"); ?>
Je vérifie l'existance de mon cookies sur la page accueil tel que :

Code : Tout sélectionner

<?php if ($_COOKIE["AUTORISATION"] !='YES') { print ("<script language = \"JavaScript\">location.href = 'index.php';</script>"); } ?>
Pour lui, bien que le cookie soit présent sur le PC, il va toujours me rediriger vers la page "index.php".
Un test que j'ai fait :

Code : Tout sélectionner

<?php if ($_COOKIE["AUTORISATION"] =='YES') { echo ("OK"); } else { echo ("PAS OK"); } ?>
Une fois le cookie créé, il affiche bien "OK". Si je le suprimme, il affiche "PAS OK".
Cependant, ma vérification plus haut (si cookie différent de... alors...) elle ne fonctionne pas.

Une idée ?

Merci d'avance,
Fab.

Re: Problème de cookies

Posté : 19 juin 2012, 18:57
par xTG
Problème de cache navigateur ?
Car il n'y a pas de raison que le code fonctionne sur une page et pas sur une autre.
Sauf si tu as un traitement qui modifie ce cookie.

Re: Problème de cookies

Posté : 19 juin 2012, 19:00
par StudsMaster
Malheureusement aucun traitement qui le modifie :(

Re: Problème de cookies

Posté : 19 juin 2012, 19:41
par moogli
Histoire d'éviter les messages d'erreur quand le cookie n'existe pas :
// le cookie exite pas
if ( ! isset($_COOKIE["AUTORISATION"])){
	header('Location: index.php');
}
else {
	// le cookie existe
	if ($_COOKIE["AUTORISATION"] !== 'YES') {
		header('Location: index.php');
	}
	else {
		echo 'la je sais pas c est pas mis ;)
		
		Mais le cookie existe et a la bonne valeur !';
	}
}
Pour tester met en commentaire les header et ajoute des echo à la place.

tu test bien sur deux page différentes ?

pourquoi utiliser du JS pur la redirection ? autant le faire direct en php ;)

@+

Re: Problème de cookies

Posté : 20 juin 2012, 17:06
par StudsMaster
"la je sais pas c est pas mis ;) Mais le cookie existe et a la bonne valeur ! "

Voila ce qu'il affiche...

Re: Problème de cookies

Posté : 20 juin 2012, 17:17
par StudsMaster
Voila, ca fonctionne enfin. En fin de compte, j'ai pas compris le soucis. Cependant j'ai fait ainsi:

J'ai fait une page de création cookies:
<?php
	$expiree = 24*3600;
   setcookie("AUTORISATION",'YES' ,time()+$expiree);
   die('<META HTTP-equiv="refresh" content=0;URL=accueil.php>'); 
 ?>
et sur chaque page soumis a accés j'ai mis ca:
  <?php
if ($_COOKIE["AUTORISATION"] !='YES')
      {
          die('<META HTTP-equiv="refresh" content=0;URL=index.php>'); 
      }?>
Et maintenant ca fonctionne.

Pfiouf. lol

Merci encore de l'aide :)