【发布时间】:2015-03-14 18:51:02
【问题描述】:
我有一个 PHP 脚本,旨在让用户决定以哪种语言显示页面。信息存储在 cookie 中,然后在需要时读取以显示正确的内容。
目前,我使用 HTML 下拉框让用户选择语言,然后他们必须按表单提交按钮来设置 cookie。 我怎样才能做到这一点,当他们在下拉菜单中选择语言时,它会自动选择该语言并提交表单?希望您能理解我的问题。
我当前的 PHP 代码是:
<?php
$user_lang = null;
if (isset($_POST["setc"])) {
$expire = time() + 60 * 60 * 24 * 30;
setcookie("mycookie", $_POST["sel"], $expire);
header("location: " . $_SERVER["PHP_SELF"]);
} else if (isset($_COOKIE["mycookie"])) {
$user_lang = $_COOKIE["mycookie"];
}
?>
<meta charset='utf-8'>
<form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post">
<select name="sel" size="1">
<option value="en"<?php echo (!is_null($user_lang) && $user_lang === "en" ? " selected" : ""); ?>>English</option>
<option value="es"<?php echo (!is_null($user_lang) && $user_lang === "es" ? " selected" : ""); ?>>Español</option>
<option value="fr"<?php echo (!is_null($user_lang) && $user_lang === "fr" ? " selected" : ""); ?>>Français</option>
<option value="de"<?php echo (!is_null($user_lang) && $user_lang === "de" ? " selected" : ""); ?>>Deutsch</option>
</select>
<input name="setc" value="save setting" type="submit">
</form>
【问题讨论】: