簡體   English   中英

在php / mysql中使用$ _SESSION

[英]Using $_SESSION in php/mysql

我有一個包含以下代碼的文件:

<?
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;
?>

不過,在回顯上,什么也不會返回。 在我的列中,它為0。

試試${_SESSION["login"]}而不是{$_SESSION['login']}

$querynewpass = "UPDATE profiles SET gradekreadings='1' WHERE username='${_SESSION["login"]}'";

要么

$querynewpass = "UPDATE profiles SET gradekreadings='1' WHERE username='".$_SESSION["login"]."'";
<?
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()必須在文件的開頭。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM