[英]HTML change site using select tag and php
我尝试制作一个网站,我想制作一个选择标签,您可以在其中更改您的语言。 我的意思是会有一些你可以改变的选项。 例如,默认站点语言是英语,但您想将其更改为德语,只需从列表中选择德语即可。 之后,您单击“保存”按钮,页面会将您重定向到 indexgermany.html 我尝试编写代码,但我是 php 新手,所以我不知道如何执行此操作。 顺便说一下,这是我的代码:
<?php if(isset($_POST['submit'])) { if(isset($_POST['option'])) { if($_POST['option'] == Deutsch - DE) { header('Location: indexgerman.php'); } } } ?>
<form method="POST" action="changelang.php"> <select select name="languages" id="langs"> <option for="english" name="english">English - EN</option> <option for="germany" name="germany">Deutsch - DE</option> </select><br> <input type="submit" class="langsave" name="submit" value="SAVE"> </form>
如果您更改了“lang”,我猜您的 scrict 不会重定向您。
如果您使用以下代码,它应该可以工作:
<?php
if(isset($_POST['submit'])) {
if(isset($_POST['option']))
{
if($_POST['option'] == 'Deutsch - DE') {
header('Location: indexgerman.php');
}
}
}
?>
您忘记将选项的名称用引号括起来。 这是必需的,因为您要比较 2 个字符串。
您在 HTML 中缺少值并且 $_POST 需要等于字符串,否则它只是未定义的值。
编辑:
另外 $_POST['option'] 不存在,我将select
标签名称重命名为选项。
<?php
if(isset($_POST['submit'])) {
if(isset($_POST['option'])){
if($_POST['option'] == "DE") {
header('Location: indexgerman.php');
}
}
}
?>
<form method="POST" action="changelang.php">
<select select name="options" id="langs">
<option for="english" name="english" value="EN">English - EN</option>
<option for="germany" name="germany" value="DE">Deutsch - DE</option>
</select>
<input type="submit" class="langsave" name="submit" value="SAVE">
</form>
<?php
if(isset($_POST['submit'])) {
$selected_lang = $_POST['languages'];
if($selected_lang == "Deutsch - DE") {
header('Location: indexgerman.php');
}else{
header('Location: indexenglish.php');
}
}
?>
第一件事是当您从Select
标签中获取选项时,您将与select
标签关联的名称而不是与option
标签相关联,并且在与字符串值(Deutsch - DE)进行比较时,您错过了""
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.