0

我创建了一个网站,当用户登录时,他指定了年份,即 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从主页更改值?

4

2 回答 2

0

我认为您有很多选择来实现这一点,AJAX 就是其中之一,但一切都取决于您希望如何实现用户界面。您可以考虑使用下拉菜单创建一个小表单并提交年份,您可以通过提交按钮或通过 javascript 执行此操作,对于 AJAX 示例,解决方案始终相同:

$_SESSION['year']=$_GET['year'];

最后取决于用户界面,如果你想让它对用户不可见,不刷新页面,使用 AJAX,否则只需提交你的输入

于 2013-06-24T22:33:01.403 回答
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'];

警告:未经测试的代码。用来勾勒这个想法。

于 2013-06-24T22:25:22.433 回答