我创建了一个网站,当用户登录时,他指定年份,即2013-2014或2014-2015等等......现在,我将这个年份值存储在会话变量中,我是通过网站使用它。现在,如果用户想要更改年份,他必须退出,然后以不同年份登录。我在主页上创建了一个下拉菜单,它将显示数据库中的所有年份。我想通过从主页选择一年而不退出来更改会话变量的值。
以下是代码:
session_start();
if(!isset($_SESSION["myusername"])){
header("location:login.php");
}
$year = $_SESSION["year"];
以下是下拉菜单的代码:
$query = "SELECT * FROM year";
$result = mysql_query($query);
echo "<select class='innerinputstyle' id='year' name='year'><option value='$year'>$year</option>";
while($note=mysql_fetch_array($result)){
echo "<option value=$note[year]>$note[year]</option>";
}
echo "</select>";
有人可以告诉我如何从主页更改$year
的值吗?
答案 0 :(得分:0)
更改
echo "<select class='innerinputstyle' id='year' name='year'>"
到
echo "<select class='innerinputstyle' id='year' name='year' onChange='doIt()'>"
这是ajax函数
function doIt(){
var xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange=function(){
}
var new_year = document.getElementById('year').value;
xmlhttp.open("GET","change_year.php?year="+new_year,true);
xmlhttp.send()
return false;
}
在change_year.php上你可以轻松改变
$_SESSION['year']=$_GET['year'];
警告:未经测试的代码。用于描绘这个想法。
答案 1 :(得分:0)
我认为你有很多选择来实现这一点,而AJAX就是其中之一,但一切都取决于你想要如何实现用户界面。您可以考虑使用下拉菜单创建一个小表单并提交年份,您可以通过提交按钮或通过javascript执行此操作,对于AJAX示例,解决方案始终是相同的:
$_SESSION['year']=$_GET['year'];
最后取决于用户界面,如果你想让用户看不到它,而不刷新页面,请使用AJAX,否则只需提交你的输入