首先,我的问题是每当我尝试更改网站中的语言时,语言会发生变化,但之后会重定向到主页,而不是当前页面。尽管语言变化是成功的,但我怎样才能在当前页面上进行更改?
此代码来自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>";
}
希望有人可以告诉我如何解决这个问题。
答案 0 :(得分:2)
您的表单action
元素是一个空字符串,它被解释为没有文件名的相对路径,因此它指的是包含当前页面的目录。换句话说,如果网页foo/bar.php
包含<form action="">
,则表单将提交至foo/
。
您需要在表单的操作属性中添加正确的网址。