Redirection en fonction de la valeur d'un cookie

cs_fotik Messages postés 6 Date d'inscription dimanche 21 septembre 2003 Statut Membre Dernière intervention 1 août 2004 - 28 juil. 2004 à 19:27
coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 - 1 août 2004 à 19:56
Bonjour à toutes et à tous !!!

Je cheche une solution pour rediriger mes visiteurs en fonction de la valeur ou la présence d'un cookie.

Le tout en php bien sur, sachant que je débute dans ce langague certe riche mais aussi assez complexe et rigoureux.

pour le moment voici mon code :

<?php
if ($HTTP_COOKIE_VARS["DJFOTIKSONDAGE"] != 1) {
print("<html> <script>document.location.href="sondage.html"</script> </html>");
} else {
print("<html><script>document.location.href ="already.html"</script></html>");
}
?>

Suis-je sur la bonne piste ??? en tout cas quelque soit la valeur du cookie, présent ou non, je suis dirigé sur la premiere solution, sondage.html

Merci de bien vouloir m'aider je nage !!!!!

11 réponses

eax Messages postés 728 Date d'inscription jeudi 20 juin 2002 Statut Membre Dernière intervention 7 novembre 2007 2
28 juil. 2004 à 20:16
salut
pour rediriger tes visiteurs, utilise plutot la fonction header de php:

header('location:ton_fichier.html');
exit;

:big) Sylvain [[mailto:eax@eax-online.com email]] [homepage] [myCV]
0
coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 4
28 juil. 2004 à 22:43
Salut!
Et on utilise: $_COOKIE[] maintenant, ;-)

@++

R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
0
winwarrior Messages postés 654 Date d'inscription jeudi 3 avril 2003 Statut Membre Dernière intervention 10 février 2009 1
29 juil. 2004 à 07:26
D'apres ce que je crois comprendre si celui qui utilise ta page a déja fait le sondage ,ça set un cookie et apres ça le redirige vers une autre page si le cookie = 1 ... mais il y a un probleme de sécurité, si il accepte pas les cookies ou alors qu'il supprime ton cookie,et bien il peut flooder ton sondage...
Je te conseille donc d'enregistrer les addresse IP dans une bdd SQL pour éviter ce genre de probleme!

Bonne Continuation.

win
0
eax Messages postés 728 Date d'inscription jeudi 20 juin 2002 Statut Membre Dernière intervention 7 novembre 2007 2
29 juil. 2004 à 08:05
oué mais les adressses ip changent..... c pas top
il faudrait voir si il a pas un espace membre

:big) Sylvain [[mailto:eax@eax-online.com email]] [homepage] [myCV]
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_fotik Messages postés 6 Date d'inscription dimanche 21 septembre 2003 Statut Membre Dernière intervention 1 août 2004
29 juil. 2004 à 10:54
merci toput le monde d'etre ausi rapide !!!

Pour vos solution :

Stockage ip dans base de donnée ---> trop complexe pour moi, on verra ca plus tard !!! :-)

Zone membre ---> c'est un site d'info, je pense que c'est pas indispensable !!!

Pour vos rectifications sur le langage que j'utilise --> MERCI je vais essayer ca tout de suite !!

En gros ca veut dire que je dois faire la commande suivante ::

<?php
if ($_COOKIE["DJFOTIKSONDAGE"] !=1) {
header('location:sondage.html');
exit;
} else {
header('location:already.html');
exit;
}
?>

Je test !! Merci :D :D
0
cs_fotik Messages postés 6 Date d'inscription dimanche 21 septembre 2003 Statut Membre Dernière intervention 1 août 2004
29 juil. 2004 à 11:06
Re - salut !!!

Pfoula !! j'ai essayé deux trucs!!!! Peut etre et même sans doutes que je suis un gros newbie !!!! J'ai essayé :

1)

<?php
if ($_COOKIE["DJFOTIKSONDAGE"] !=1) {
header('location:sondage.html');
exit;
} else {
header('location:already.html');
exit;
}
?>

J'obtiens tjours mon sondage, cookie ou non !!!

2)

<?php
if (isset($_COOKIE["DJFOTIKSONDAGE"])) {
header('location:sondage.html');
exit;
} else {
header('location:already.html');
exit;
}
?>

Il me dit dirige sur already cookie ou non !!!!

Bouhouhouhouhouuuuuuuuu keskispass ??

Quelqu'un peut m'aider ??

Merci!
0
coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 4
29 juil. 2004 à 11:53
Salut!
Tu le crée comment ton cookie???

@++

R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
0
cs_fotik Messages postés 6 Date d'inscription dimanche 21 septembre 2003 Statut Membre Dernière intervention 1 août 2004
30 juil. 2004 à 11:09
salut coockiesch,

Ci dessous mon code de création du cookie...

<?php
$jour = getdate();
$numjour = intval($jour['wday']);
if ($numjour == 0)
$numjour = 7;
$numlundi = abs($numjour - 8) * 24 * 60 * 60;
$numheure = intval(date("H")) * 60 * 60;
$numminute = intval(date("i")) * 60;
$numseconde = intval(date("s"));
$expir = time() - $numseconde - $numminute - $numheure + $numlundi;
setcookie("DJFOTIKSONDAGE", "1", $expir);
?>

Je tiens à préciser que c'est pas moi qui l'ai écrit, c'est juste parceque tu me l'as demandé et je tiens aussi à préciser que jamais j'aurais été capable de le faire moi même !!!!

Tout ce que je sais c'est que je comprends ce qu'il y a dedans, et aussi que le cookie se créé bien sur cette page !!!

C'est sur l'autre page que ca ne sait pas le gérer !!!

Voila pour le code de créa !!j'ai tjrs pas de solution pour ma page de redir, si j'en ai une je vous préviens !!

merci à vous tous de vous pencher sur mon pb !!!
0
coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 4
30 juil. 2004 à 15:44
Salut!
Normalement pour l'expiration, tu additione à time() le tps dont tu as besoin:

$exp = time() + 86400; // 1 jr


@++

R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
0
cs_fotik Messages postés 6 Date d'inscription dimanche 21 septembre 2003 Statut Membre Dernière intervention 1 août 2004
1 août 2004 à 17:48
salut coockiesh

Pour info (je ne sait pas si c'est exact) :

<?php
$jour = getdate();
$numjour = intval($jour['wday']);
if ($numjour == 0)
$numjour = 7;
$numlundi = abs($numjour - 8) * 24 * 60 * 60;
$numheure = intval(date("H")) * 60 * 60;
$numminute = intval(date("i")) * 60;
$numseconde = intval(date("s"));
$expir = time() - $numseconde - $numminute - $numheure + $numlundi;
setcookie("DJFOTIKSONDAGE", "1", $expir);
?>

Ce code me permet de déterminer la date d'expiration du cookie tous les lundis. L'utilisateur peut le créer le dimanche ou le mardi, il calcul automatiquement la durée avant le lundi suiva,nt !

Pour info aussi, j'ai pensé que mon cookie etait périmé avec cette formule donc j'ai bien evidement essayé d'en créer un avec les bases (time() + 86400) par ex, et c'est le même résultat.

Pour info encore, ma page de redir en fonction des cookies se trouve dans une iframe sur une page html existante : est-ce ca le probleme ????

a+
0
coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 4
1 août 2004 à 19:56
Salut!
C bizarre, je viens de tester:
<?php
$step = $_GET['step'];
if($step == 1)
{
$jour = getdate();
$numjour = intval($jour['wday']);
if ($numjour == 0)
$numjour = 7;
$numlundi = abs($numjour - 8) * 24 * 60 * 60;
$numheure = intval(date("H")) * 60 * 60;
$numminute = intval(date("i")) * 60;
$numseconde = intval(date("s"));
$expir = time() - $numseconde - $numminute - $numheure + $numlundi;
setcookie("DJFOTIKSONDAGE", "1", $expir);
}
else
{
echo 'cookie: *' . $_COOKIE['DJFOTIKSONDAGE'] . '*
';
if($_COOKIE['DJFOTIKSONDAGE'])
echo 'ok';
}
?>


En appelant la page une fois avec step=1 et une fois avec step=2 et ca marche bien...

Tu peux tester ca?

@++

R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
0
Rejoignez-nous