2014-10-28 45 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

相关问题