lire un cookie aussitot l'avoir ecrit

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 : lire un cookie aussitot l'avoir ecrit

par Gico » 08 avr. 2007, 18:23

Super, merci ça fonctionne impec , maintenant je vais étudier ça pour comprendre comment tu t'y est pris... et merci pour l'info sur les cookies, j'ignorais.
Merci

par @rthur » 08 avr. 2007, 18:15

Bonjour,

Ce comportement est normal car les cookies passent en en-tête des requêtes HTTP donc le rechargement de la page est obligatoire pour les prendre en compte.

Voila une alternative à ton script:
if(isset($_GET['lg'])){
    switch($_GET['lg']){
case "EN" :setcookie("lang", "EN", time()+86400*100);
    $lang="EN";
    break;
case "ES" : setcookie("lang", "ES", time()+86400*100);
    $lang="ES";
    break;
case "FR" : setcookie("lang", "FR", time()+86400*100);
    $lang="FR";
    break;
    }
}else{
    $lang=$_COOKIE['lang'];
}

switch($lang){
case "FR":
require("includes/main_FR.php");
break;
case  "EN":
require("includes/main_EN.php");
break;
case "ES":
require("includes/main_ES.php");
break;
} 

lire un cookie aussitot l'avoir ecrit

par Gico » 08 avr. 2007, 16:47

Bonjour
j'essaie de modifier un cookie aprés un test , manifestement le cookie est bien modifié , mais il faut recharger la page pour que le cookie soit pris en compte ( c'est pour gérer des langues).
if(isset($_GET['lg'])){
switch($_GET['lg'])
{case "EN" :setcookie("ang", "EN", time()+86400*100);
	break;
case "ES" : setcookie("lang", "ES", time()+86400*100);
	break;
case "FR" : setcookie("lang", "FR", time()+86400*100);
	break;
	}
}

switch($_COOKIE['lang']){
case "FR":
require("includes/main_FR.php");
break;
case  "EN":
require("includes/main_EN.php");
break;
case "ES":
require("includes/main_ES.php");
break;
}
la première partie c'est pour si l'utilisateur change de langue dans la page en cours, alors on réécrit le cookie. Le second script recupère le cookie et gere l'affichage.
Tous ce passe comme si la modification du cookie n'était pris en compte qu'en rechargeant la page une autre fois
Une solution? merci.