我有一个包含此代码的文件:
<?
include('../checkiflogged.php');
include('../../config.php');
if(!session_id())
session_start();
$klevel = $_SESSION['gradekreadings'];
switch($klevel) {
default:
$querynewpass = "UPDATE profiles SET `gradekreadings`='1' WHERE username='{$_SESSION['login']}'";
$klevel = 1;
break;
}
echo $klevel;
?>
在我的mysql中,gradekreadings是一个列,但它没有得到它,我的$ klevel变量返回,空白或没有。似乎会话从用户登录时输入已经输入的内容。我的mysql中有一个名为“username”的列,但是当他们登录时,我有一个名为“login”的文本字段。它不会返回“用户名”,只返回“登录”字段。我怎么做到这样我可以使用我的mysql中的所有变量为用户使用我的页面?
---------------------------编辑------------------- --------- 我更新了这段代码,这是从下面给我的:
<?
session_start();
include('../checkiflogged.php');
include('../../config.php');
$klevel = $_SESSION['gradekreadings'];
/*switch($klevel) {
default:
$querynewpass = "UPDATE profiles SET `gradekreadings`='1' WHERE username='{$_SESSION['login']}'";
mysql_query($querynewpass);
$klevel = 1;
break;
}*/
echo $klevel;
?>
仍然,在回声上,什么都不返回。在我的colum中它有一个0。
答案 0 :(得分:2)
尝试使用${_SESSION["login"]}
代替{$_SESSION['login']}
$querynewpass = "UPDATE profiles SET gradekreadings='1' WHERE username='${_SESSION["login"]}'";
或
$querynewpass = "UPDATE profiles SET gradekreadings='1' WHERE username='".$_SESSION["login"]."'";
答案 1 :(得分:1)
<?
session_start();
include('../checkiflogged.php');
include('../../config.php');
if(isset($_SESSION['gradekreadings'])){
$klevel = $_SESSION['gradekreadings'];
}else{
klevel=1;
}
switch($klevel) {
default:
$querynewpass = "UPDATE profiles SET `gradekreadings`='1' WHERE username='".$_SESSION['login']."'";
$klevel = 1;
break;
}
echo $klevel;
?>
session_start()
必须位于文件的开头。