2011-11-04 132 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

相關問題