Disclaimer cookie

Rohenheim Messages postés 7 Date d'inscription samedi 29 mai 2010 Statut Membre Dernière intervention 8 juin 2010 - 29 mai 2010 à 17:38
Arto_8000 Messages postés 1044 Date d'inscription lundi 7 mars 2005 Statut Membre Dernière intervention 13 juillet 2010 - 9 juin 2010 à 14:59
Bonjour,

Avant d'introduire mon sujet j'aimerais dire que j'ai cherché la réponse à ma question dans tout le forum et même sur d'autres avant de poster.

Mon site internet à une page d'avertissement, les internautes peuvent choisir leurs pays sur une plateforme flash et sont ensuite dirigé sur le site de proposé pour leurs pays.

J'aimerais gagner du temps et faire en sorte que cette page ne s'affiche qu'une seule fois et que les infos soient stocké dans un cookie. Une fois que l'utilisateur quittera le site la page de destination sera enregistré et lors de la prochaine visite l'utilisateur sera dirigé directement vers la page principale du site.

Voici le script que j'ai installé :

<?php
if(!getCookie("dejavenu"));
{
expdate.setTime(expdate.getTime() + 1000 * 60 * 60 * 24 * 365); 
setCookie("dejavenu","true",expdate);
}
else if($_Cookie['dejavenu']=="true");
{
include("links.html");
}
?>


Je reçois ce message : Parse error: syntax error, unexpected T_ELSE in .../public_html/index.php on line 7

la ligne 7 : else if($_Cookie['dejavenu']=="true");

Je ne trouve pas le problème. Help me

8 réponses

Arto_8000 Messages postés 1044 Date d'inscription lundi 7 mars 2005 Statut Membre Dernière intervention 13 juillet 2010 7
2 juin 2010 à 15:44
Salut,

Quand tu utilises un «;» sur la même ligne que ton if, c'est que ton code se termine sur cette même ligne. En gros ton code revient à ceci :

<?php
if(!getCookie("dejavenu"))
{

}
{
expdate.setTime(expdate.getTime() + 1000 * 60 * 60 * 24 * 365); 
setCookie("dejavenu","true",expdate);
}
else if($_Cookie['dejavenu']=="true")
{

}
{
include("links.html");
}
?>


Ce que tu veux probablement faire c'est ceci :

<?php
if(!getCookie("dejavenu"))
{
expdate.setTime(expdate.getTime() + 1000 * 60 * 60 * 24 * 365); 
setCookie("dejavenu","true",expdate);
}
else if($_Cookie['dejavenu']=="true")
{
include("links.html");
}
?>
0
Rohenheim Messages postés 7 Date d'inscription samedi 29 mai 2010 Statut Membre Dernière intervention 8 juin 2010
4 juin 2010 à 14:07
Salut.

Merci pour ton aide Arto_8000 mais j'ai toujours un petit souci avec ton code.

Fatal error: Call to undefined function getcookie() in .../index.php on line 2
0
Arto_8000 Messages postés 1044 Date d'inscription lundi 7 mars 2005 Statut Membre Dernière intervention 13 juillet 2010 7
4 juin 2010 à 14:21
Il faut utiliser le tableau asssociatif $_COOKIE pour lire les cookies. Aussi la façon que tu utilises pour définir l'expiration est incorrecte.

<?php
if(!$_COOKIE["dejavenu"])
{
$expdate = (time() + 60 * 60 * 24 * 365); 
setCookie("dejavenu","true",$expdate);
}
else if($_COOKIE['dejavenu']=="true")
{
include("links.html");
}
?>
0
Rohenheim Messages postés 7 Date d'inscription samedi 29 mai 2010 Statut Membre Dernière intervention 8 juin 2010
4 juin 2010 à 14:26
Merci beaucoup pour ton aide Arto_8000
0

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

Posez votre question
Rohenheim Messages postés 7 Date d'inscription samedi 29 mai 2010 Statut Membre Dernière intervention 8 juin 2010
4 juin 2010 à 15:11
J'ai juste une autre question concernant le disclaimer.

Voila ce que j'ai installé sur le site :

<?php
if(!$_COOKIE["dejavenu"])
{
$expdate = (time() + 60 * 60 * 24 * 365); 
setCookie("dejavenu","true",$expdate);
include("disclaimer.php");
}
else if($_COOKIE['dejavenu']=="true")
{
include("links.html");
}
?>


Imaginons que l'utilisateur clic sur "quitter" au lieu de "Entrer". Une fois que le cookie est installé la page d'avertissement ne s'affiche plus même si la première fois l'utilisateur n'a pas voulu entrer sur le site.

Si l'utilisateur ne souhaite pas entrer et clic sur "quitter" il est automatiquement dirigé vers google.com.

Les boutons quitter et entrer sont intégrés dans une animation flash. Est-il possible de ne pas installer le cookie si l'utilisateur est dirigé vers google.com?
0
Arto_8000 Messages postés 1044 Date d'inscription lundi 7 mars 2005 Statut Membre Dernière intervention 13 juillet 2010 7
4 juin 2010 à 23:21
Ce que tu serais mieux de faire, c'est que tu définisses ton cookie dejavenu une fois que la personne a cliqué sur Accepter et non avant. Ta page disclaimer devrait contenir quelque chose comme ceci :

<?php
if (isset($_POST['action']) && $_POST['action']=='Accepter') {
    $expdate = (time() + 60 * 60 * 24 * 365); 
    setCookie("dejavenu","true",$expdate);
    header("Location: tapagenormal.php");
    exit;
}
?>

blablabla
<form method="POST">


</form>
0
Rohenheim Messages postés 7 Date d'inscription samedi 29 mai 2010 Statut Membre Dernière intervention 8 juin 2010
8 juin 2010 à 14:17
Merci beaucoup pour ton aide.

Les boutons sont intégré dans une animation flash, je ne peux pas mettre de valeur et les intégrer dans le script PHP. Je pense pas qu'on puisse jouer avec l'actionscript.

Je ne sais plus quoi faire. J'ai tourné le problème dans tout les sens mais je ne trouve aucune solution. Même si l'utilisateur clic sur quitter, pour sa prochaine visite la page d'avertissement ne s'affiche pas et il est vraiment impossible pour moi de laisser de coté cet animation flash. Que faire?

Est ce qu'il est possible de placer un deuxième cookie sur la page index.html pour prouver que l'utilisateur à accédé à l'index du site. Ainsi à la page d'avertissement il serait possible de définir si l'utilisateur à cliqué sur entrer ou quitter. Si l'utilisateur a cliqué sur enter le cookie qui se trouve sur la page d'accueil aurait enregistré le passage et ainsi l'utilisateur pourrait accéder au site dans le cas contraire il sera dirigé vers google.

Je ne suis pas sur d'avoir été claire mais c'est la seule chose que j'ai pu trouver et je ne sais pas si c'est possible???

Merci
0
Arto_8000 Messages postés 1044 Date d'inscription lundi 7 mars 2005 Statut Membre Dernière intervention 13 juillet 2010 7
9 juin 2010 à 14:59
Pour ce qui est du Flash, tu peux quand même faire une requête POST vers le serveur quand la personne clique sur un bouton dans ton animation. Comment ? C'est un peu loin dans ma mémoire, il faudrait que tu cherches un peu sur le net ou que tu poses une question sur http://www.flashkod.com/.

Pour vérifier si la personne a accepté ou non dans les autres pages que ton disclaimer.php tu devrais avoir ceci en haut de tes pages :

<?php
if (!isset($_COOKIE['dejavenu']) || $_COOKIE['dejavenu']=='false') {
     header('Location: disclaimer.php');
     exit;
}
?>
0
Rejoignez-nous