php - 从另一个 URL 返回后,选择选项不会保留
问题描述
我有以下 php 代码:
<?php
global $current_user;
global $user_ID;
$user_lang = get_user_meta($user_ID, 'locale', true);
$selected_locale = get_user_meta($user_ID, 'locale', true);
$selected_locale = $_POST['LanguageOption'];
echo 'UserLang: '. $user_lang.'<br/>';
echo 'Selected Locale: '. $selected_locale.'<br/>';
?>
<div class="field" style="margin-top:-10px;">
<div style="padding:10px;">
<form name="setLanguage" id="setLanguage" method="POST">
<select name="LanguageOption" onchange="change()">
<option value="" <?php if(false !== stripos($selected_locale, ' ')) {echo 'selected="selected"';} ?>>Default ( English )</option>
<option value="en_GB" <?php if(false !== stripos($selected_locale, 'en_GB')) {echo 'selected="selected"';} ?>>English ( US )</option>
<option value="el_GR" <?php if(false !== stripos($selected_locale, 'el_GR')) {echo 'selected="selected"';} ?>>Greek</option>
</select>
</form>
<script>
function change(){
document.getElementById("setLanguage").submit();
}
</script>
<?php
update_user_meta( $user_ID, 'locale', $selected_locale);
$user_lang = get_user_meta($user_ID, 'locale', true);
$selected_locale = get_user_meta($user_ID, 'locale', true);
echo 'UserLang: '. $user_lang.'<br/>';
echo 'Selected Locale: '. $selected_locale.'<br/>';
?>
<?php
echo 'UserLang: '. $user_lang.'<br/>';
echo 'Selected Locale: '. $selected_locale.'<br/>';
if ($user_lang == '') { echo 'Default communication language ENGLISH';
} elseif ($user_lang == 'en_GB') { echo 'Your communication language: ENGLISH (US)';
}
elseif ($user_lang == 'el_GR') { echo 'Your communication language: GREEK';
} else {echo 'Nothing Selected';}
?>
<?php /*************************************/ ?>
即使我重新加载页面并且将语言环境变量适当地更改为 usermeta 表,一切正常。问题是,如果我转到该站点的其他 URL 并返回此页面,则该选项会转到第一个选项“默认(英语)”,并且还会更改用户的区域设置字段。
有什么办法可以避免吗?你能发布修改后的代码吗?
提前谢谢你乔治
解决方案
推荐阅读
- mysql - MySql 数据库字符集的奇怪行为
- ios - QT如何更改应用程序窗口z索引
- cmake - 通过 cmake 设置特定的 SDK
- ios - UIScreen.main.brightness 在 swift 4.2 中的 applicationDidEnterBackground 中使用时很少给出不准确的值
- azure - 订阅中虚拟机的实际 CPU 限制是多少
- c++ - C++ 通过 Swig 到 Golang - 出现“声明无效”错误
- php - phalcon查询返回扫描错误之前
- postgresql - PowerBI:从查询的输出中读取
- android - sdkmanager 版本包未签名
- c# - 登录后从不同的连接检索数据?