2014-10-28 72 views
-1

首先,我的問題是每當我嘗試更改網站中的語言時,語言都會改變,但是它會重定向到主頁,而不是當前頁面。雖然語言的變化是成功的,但我怎樣才能讓它在當前頁面上變化?當嘗試更改語言時,爲什麼頁面會重定向到主頁?

這個代碼是從inc.language.php文件

的代碼是這樣的。

//使用DB

if ($numrows_langs>1){ 

    $languagelist="<form action=\"\" method=\"post\" name=\"language_form\"> 
        <table cellpadding=0 cellspacing=0 style=\"padding:5px 0px\"> 
        <tr> 
         <td style=\"padding-right:5px\">$LANGUAGE</td> 
         <td> 
          <select name=\"lang\" onchange=\"document.language_form.submit();\" style=\"width:110px\">"; 
         while($r_langs=mysql_fetch_array($sql_langs)) 
         { 
          $LangID_langs=$r_langs["LangID"]; 
          $strName_langs=$r_langs["strName"]; 
          $isDefault_langs=$r_langs["isDefault"]; 

          if($_SESSION['langid']==$LangID_langs){ 
           $showselected=" selected=\"selected\" "; 
          } 
          else{ 
           $showselected="$LangID_langs"; 
          } 

          $languagelist.="<option value=\"$LangID_langs\" $showselected >$strName_langs</option>"; 
         } 

      $languagelist.="</select> 
         </td> 
        </tr> 
       </table> 
       </form>"; 

}後連接

希望有人能指點我解決這個問題的方法。

回答

2

您的表單的action元素是一個空字符串,它被解釋爲沒有文件名的相對路徑,因此它指向包含當前頁面的目錄。換句話說,如果頁面foo/bar.php<form action="">,表單將提交到foo/

您需要在表單的操作屬性中放置正確的URL。

+0

感謝您抽出時間先生@Wyzard,是的,我注意到之前的動作元素,也曾嘗試過,但仍然無法在當前頁面上進行更改。 – izys 2014-10-28 04:16:55