尝试更改语言时为什么页面重定向到主页?

时间:2014-10-28 03:55:04

标签: php

首先,我的问题是每当我尝试更改网站中的语言时,语言会发生变化,但之后会重定向到主页,而不是当前页面。尽管语言变化是成功的,但我怎样才能在当前页面上进行更改?

此代码来自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>";

}

希望有人可以告诉我如何解决这个问题。

1 个答案:

答案 0 :(得分:2)

您的表单action元素是一个空字符串,它被解释为没有文件名的相对路径,因此它指的是包含当前页面的目录。换句话说,如果网页foo/bar.php包含<form action="">,则表单将提交至foo/

您需要在表单的操作属性中添加正确的网址。