当select改变写在session中
When select change write in session
我正在编写一个函数来更改我网站上的语言。如何设置:如果语言选择发生变化,则刷新页面。
如:if(value=="ru"){$_SESSION["lang"]="ru"; Refresh page}
在:
<select class="leng" name="language" id="language" >
<option selected="selected" value="en">en</option>
<option value="ru" >ru</option>
<option value="ae">ae</option>
<option value="bg">bg</option>
</select>
谢谢。
假设您在具有 name
属性的表单中拥有此内容,例如:
<form name='formname' method='post' action='handlelanguage.php'>
<select class="leng" name="language" id="language" onChange="document.formname.submit()">
然后在该页面中显示如下内容:
$value = $_POST['language'];
if($value=='ru')
{
$_SESSION["lang"] = "ru";
header('Location: originalpage.php');
exit;
}
如果您要设置 session 变量,则无需刷新页面,因为处理是在发送 headers 之前进行的。您只需要将 post 表单添加到您要设置 session 变量的页面,如下所示:
<form action="/" method="post">
<select class="leng" name="language" id="language" >
<option selected="selected" value="en">en</option>
<option value="ru" >ru</option>
<option value="ae">ae</option>
<option value="bg">bg</option>
</select>
<input type="submit" />
</form>
然后,在该代码之前,您需要像这样添加一些 PHP(确保这发生在 any 其他输出之前,否则您将得到 PHP错误):
<?php
if (isset($_POST['language'])){
session_start();
$_SESSION['language'] = $_POST['language'];
}
?>
此时,session 变量已从 post 编辑到同一页面的表单中保存。您可以相应地采取更多行动。
这是一些不使用表单的老式 javascript 解决方案:
<select class="leng" name="language" id="language" onChange="document.location.href='your_page.php?lang=' + this.value">
<option selected="selected" value="en">en</option>
<option value="ru">ru</option>
<option value="ae">ae</option>
<option value="bg">bg</option>
</select>
以及 "your_page.php":
<?php
session_start();
if(isset($_GET["lang"])) $_SESSION["lang"] = $_GET["lang"];
?>
我正在编写一个函数来更改我网站上的语言。如何设置:如果语言选择发生变化,则刷新页面。
如:if(value=="ru"){$_SESSION["lang"]="ru"; Refresh page}
在:
<select class="leng" name="language" id="language" >
<option selected="selected" value="en">en</option>
<option value="ru" >ru</option>
<option value="ae">ae</option>
<option value="bg">bg</option>
</select>
谢谢。
假设您在具有 name
属性的表单中拥有此内容,例如:
<form name='formname' method='post' action='handlelanguage.php'>
<select class="leng" name="language" id="language" onChange="document.formname.submit()">
然后在该页面中显示如下内容:
$value = $_POST['language'];
if($value=='ru')
{
$_SESSION["lang"] = "ru";
header('Location: originalpage.php');
exit;
}
如果您要设置 session 变量,则无需刷新页面,因为处理是在发送 headers 之前进行的。您只需要将 post 表单添加到您要设置 session 变量的页面,如下所示:
<form action="/" method="post">
<select class="leng" name="language" id="language" >
<option selected="selected" value="en">en</option>
<option value="ru" >ru</option>
<option value="ae">ae</option>
<option value="bg">bg</option>
</select>
<input type="submit" />
</form>
然后,在该代码之前,您需要像这样添加一些 PHP(确保这发生在 any 其他输出之前,否则您将得到 PHP错误):
<?php
if (isset($_POST['language'])){
session_start();
$_SESSION['language'] = $_POST['language'];
}
?>
此时,session 变量已从 post 编辑到同一页面的表单中保存。您可以相应地采取更多行动。
这是一些不使用表单的老式 javascript 解决方案:
<select class="leng" name="language" id="language" onChange="document.location.href='your_page.php?lang=' + this.value">
<option selected="selected" value="en">en</option>
<option value="ru">ru</option>
<option value="ae">ae</option>
<option value="bg">bg</option>
</select>
以及 "your_page.php":
<?php
session_start();
if(isset($_GET["lang"])) $_SESSION["lang"] = $_GET["lang"];
?>