2011-11-04 88 views
-2

我发现了自己的错误,无法理解为什么有人投了票。请参阅第一条评论

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(); 
} 

,其中一些代码是创建“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"); 
} 

我需要得到URL访问者是和更改后重新加载页面网站语言。

任何提示人?

+1

呃可能是因为我一次又一次地向服务器请求同一个URL loool – Souza

+0

使用$ _SERVER ['HTTP_REFERER']来获取用户来自的地址。 – arijeet

+0

请转义您从用户处获得的数据!例如用['mysql_real_escape_string()'](http://php.net/mysql_real_escape_string)。 – ComFreek

回答

1

$_SERVER['REQUEST_URI']包括?lang=...这导致if语句在每次重定向时都为true。

+0

好赶+ 1-- –

+0

是的,这就是我说我的评论(第一评论) 谢谢你 – Souza

相关问题