[英]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.