Mic*_*rey 0 php forms internet-explorer postback
我有一个带旗帜的网站.如果单击它,则网站的语言会发生变化.
这是显示标志的代码,这是一个带有post事件的表单:
<?php
$pagename = $_SERVER['REQUEST_URI'];
echo '<form action="'.$pagename.'" method="post">
<input name="formlanguage" type="image" ';
if ($_SESSION['lang'] == 0)
{
echo 'alt="English" src="images/en.png" value="1" ';
}
else
{
echo 'alt="Deutsch" src="images/de.png" value="0" ';
}
echo '/></form>';
?>
Run Code Online (Sandbox Code Playgroud)
以下是对此的响应,这部分总是在IE上失败:
if (isset($_POST['formlanguage']))
{
$_SESSION['lang']=$_POST['formlanguage'];
}
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚为什么它适用于Chrome但不适用于IE.我假设它可能是IE的设置.但这可能是什么?
IE不发送服务器端图像映射的值,只发送坐标.
由于您有一个简单的切换:添加一个隐藏的输入,指定要更改的语言,而不是取决于图像输入数据.
如果要提供多个选项(或将来更容易这样做),请为不同的语言使用不同的控件名称,并检查每个选项是否存在(或者更确切地说,是名称.x或name.y(使用.已转换) to _ in PHP))而不是具有不同值的标准名称.
| 归档时间: |
|
| 查看次数: |
951 次 |
| 最近记录: |