使用PHP中的图像进行语言选择

时间:2011-09-08 10:03:42

标签: php

我找到了一个开源PHP脚本,它使用选择菜单来选择语言。

在代码会话中使用循环来填充选择菜单,如上所述......

$la = 0;
foreach($trans['languages'] as $short=>$langname)  {
$params['LANGSEL'][$la]['LANG_SHORT'] = $short;
$params['LANGSEL'][$la]['LANG_LONG'] = $langname;
$la++;
}

在php模板中创建像这样的选择菜单......

<td><select class="select" name="lang"><#FOR LANGSEL#>
<option value="<#LANG_SHORT#>"><#LANG_LONG#></option>
<#/FOR LANGSEL#></select></td>

所以这段代码工作正常,但我发现它有点难看,所以我试图改为输入图像 所以我认为这样的事情会起作用。

<input type="image" name="lang" value="http://localhost/index.php?lang=en" src="        <#IMAGES_DIRECTORY#>/english.png"></td>
<input type="image" name="lang" value="http://localhost/index.php?lang=it" src="   <#IMAGES_DIRECTORY#>/italian.png"></td> 

但是没有任何变化,页面总是以意大利语显示,这是默认语言。 感谢一位正在努力学习一些HTML和PHP的新手。

2 个答案:

答案 0 :(得分:0)

这里的问题是你有两个图像,其中name个不同,而你需要只有一个表单元素,称为{{1} },其值是正确的name字符串。在这方面,<#LANG_SHORT#>select表单元素非常适合这项工作,而radio则不适合。

我似乎也不太可能表单元素确实的值为input。这不仅仅是改变语言产生的URL吗?您的表单字段的正确值似乎更有可能只是http://localhost/index.php?lang=en / en

最终,我认为你需要一个隐藏的表单字段,并且it上有一些Javascript可以在需要时设置该字段的值。请注意,您网站的可用性/可访问性从[可能]高到[绝对]非常低。

答案 1 :(得分:0)

名称字段的值应为<#LANG_SHORT#>。你没有说处理后的是什么样的,但我很确定它是enit。但是,您提供了一个URL。您还可以在图像的URL前添加几个空格。

这可能会奏效:

<input type="image" name="lang" value="<#LANG_SHORT#>" src="<#IMAGES_DIRECTORY#>/english.png"></td>

请记住在Internet Explorer中测试它。传统上,<input type="image">元素有几个问题。