2011-11-04 8 views
-2

J'ai découvert ma propre erreur, je ne comprends pas pourquoi certains ont voté. Voir premier commentaire

SOLUTION:

if(!empty($_GET['lang'])) 
{  
$uri = 'http'. ($_SERVER['HTTPS'] ? 's' : null) .'://'. $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; 
$lang_folder = $_GET['lang']; 
$ses = $_COOKIE['ccUser']; 
$query = mysql_query("UPDATE ".$glob['dbprefix']."CubeCart_sessions SET lang='".$lang_folder."' WHERE sessId='".$ses."'"); 
header("Location:".substr($uri, 0, -8)); 
die(); 
} 

où un peu de code crée "too_many_redirects":

if(!empty($_GET['lang'])) 
{  
$uri = 'http'. ($_SERVER['HTTPS'] ? 's' : null) .'://'. $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; 
$lang_folder = $_GET['lang']; 
$ses = $_COOKIE['ccUser']; 
$query = mysql_query("UPDATE ".$glob['dbprefix']."CubeCart_sessions SET lang='".$lang_folder."' WHERE sessId='".$ses."'"); 
header("Location: $uri"); 
} 

J'ai besoin pour obtenir l'URL du visiteur a été et recharger la page après avoir changé la langue du site Web.

Avez-vous des conseils?

+1

Uh est probablement parce que je demande au serveur la même URL encore et encore loool – Souza

+0

Utilisez $ _SERVER ['HTTP_REFERER'] pour obtenir l'adresse d'où vient l'utilisateur. – arijeet

+0

S'il vous plaît échapper les données que vous obtenez de l'utilisateur !! Par exemple avec ['mysql_real_escape_string()'] (http://php.net/mysql_real_escape_string). – ComFreek

Répondre

1

$_SERVER['REQUEST_URI'] comprend ?lang=... ce qui entraîne if déclaration étant vrai chaque fois que vous rediriger.

+0

bonne prise + 1-- –

+0

Yup, c'est ce que j'ai dit dans mon commentaire (Premier commentaire) Merci quand même – Souza

Questions connexes