cookie or not cookie...

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : cookie or not cookie...

par mussara » 11 juil. 2005, 01:03

merci beaucoup pour tout....
je potasse tout ça

sincèrement

par ouckileou » 11 juil. 2005, 00:46

ben ce n'est pas si compliqué, rien de super technologique et tu as l'air de savoir faire quelques trucs en PHP déjà ;)

en gros :
une variable de session $_SESSION['langue']

1 - entrée sur le site
cette variable est vide :
s'il y a un cookie tu récupères la valeur
sinon tu mets une valeur par défaut

2 - si au cours de la navigation, la personne veut changer
tu fais une petite page qui change la valeur de cette variable


et voilà :)

si tu ne connais pas les sessions, c'est très simple
ce sont juste des variables transmises d'une page à une autre

pour activer les sessions : session_start() au début du fichier
et on accède ensuite au variable via le tableau $_SESSION['laVariable']

voici un tuto : les sessions

d'ailleurs en passant, ceci n'est plus utilisé : $HTTP_COOKIE_VARS
on utilise maintenant $_COOKIE
de même pour $HTTP_POST_VARS => $_POST ... etc

bon courage ;)

par mussara » 11 juil. 2005, 00:18

hou la la c'est compliqué pour moi tout ça....
comment faut-il procéder? ou alors si vous connaissez un bon tutorial pour que j'essaie d'adapter le code....

par ouckileou » 11 juil. 2005, 00:13

tu peux réécrire le cookie

ou créer une variable de session qui prend la valeur du cookie au départ, et peut être réattribuée en cours de navigation
et tu ne réécris dans le cookie que si la personne souhaite conserver le choix

cookie or not cookie...

par mussara » 11 juil. 2005, 00:03

bonsoir à tous

je me débats depuis quelques temps pour essayer de gérer un accès multi-langues à mon site....

j'ai travaillé à partir d'un tutorial trouvé ici: http://phpdebutant.org/article107.php

j'ai l'impression qu'avec ce script, je ne peux pas forcer l'accès à une langue donnée étant donné qu'il y a toujours détection du cookie de la langue dans mes pages par le :
<?php require("decide-lang.php"); ?>
... que j'ai ajouté sur toute mes pages...

code du decide-lang.php:
<?php 
 	 
 	 if(isset($HTTP_COOKIE_VARS['lang'])) {
 	     $lang = $HTTP_COOKIE_VARS['lang'];
 	 } else {
 	     // si aucune langue n'est déclarée on tente de reconnaitre la langue par défaut du navigateur
 	     $lang = substr($HTTP_SERVER_VARS['HTTP_ACCEPT_LANGUAGE'],0,2); 
 	 }
 	 
 	 //script d'origine
 	 if ($lang=='fr') {           // si la langue est 'fr' (français) on inclut le fichier fr-lang.php
 	     include('lang/fr-lang.php'); 
 	 } elseif ($lang=='en') {      // si la langue est 'en' (anglais) on inclut le fichier en-lang.php
 	     include('lang/en-lang.php'); 
 	 } 
 	 //fin du script d'origine
 	 
 	 //définition de la durée du cookie (1 an)
 	 $expire = 365*24*3600; 
 	 
 	 //enregistrement du cookie au nom de lang
 	 setcookie("lang", $lang, time() + $expire); 
 	 
 ?>

comment puis je faire pour que dans un premier temps la page s'affiche par défaut en fonction du cookie de la langue, mais qu'ensuite si l'utilisateur clique sur un bouton fraçais ou anglais ou autre, il outrepasse ce cookie?