【问题标题】:PHP SESSION variables using $_SESSION使用 $_SESSION 的 PHP SESSION 变量
【发布时间】:2015-01-22 14:53:43
【问题描述】:

我正在尝试使用 $_SESSION 传递会话变量,因此我可以检查当前登录的用户是否具有“admin”权限,该权限作为“login_privileges”存储在我的数据库表“login”中。如果他们有管理员权限,他们可以访问某些页面,如果没有,他们只是被拒绝访问,但没有注销。当在表单中输入有效的用户名和密码时,我收到“无法在写入上下文中使用函数返回值”错误。肯定是SESSION出错了,怎么回事?

<?php

require("dbconnectprojdev.php");
$con = mysql_connect($host, $username, $password);

$username = $_POST['username']; 
$password = $_POST['password']; 

$username = stripslashes($username); 
$password = stripslashes($password); 
$username = mysql_real_escape_string($username, $con); 
$password = mysql_real_escape_string($password, $con); 

$stmt=$dbh->prepare("SELECT * FROM login WHERE login_username = :username AND login_password = :password");
$stmt->bindParam(':username', $username);
$stmt->bindParam(':password', $password);
$stmt->execute();
while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$count = $count + 1;
}

$privilege = $row['login_privileges'];

if($count==1){  

session_start();
$_SESSION('privilege') = $privilege;
$_SESSION('username') = $username; 
$_SESSION('password') = $password; 
header("location:logincorrect.php"); 

} else { 
echo "Invalid login details"; 
echo "<b></br><a href=default.php>Back to login</a>";
} 

?>  

“dbconnectprojdev.php”看起来像:

<?php
$host = "*****";
$database = "*****";
$username = "*****";
$password = "*****";

$dbh = new PDO("mysql:host=$host; dbname=$database; charset=utf8", $username , $password );
?>

【问题讨论】:

  • $_SESSION 是一个超全局数组,而不是一个函数 :)
  • 看看documentation 总是很好的。

标签: php session


【解决方案1】:

$_SESSION 是一个数组,而不是一个函数。

$_SESSION('privilege') = $privilege; 更改为$_SESSION['privilege'] = $privilege;

【讨论】:

    【解决方案2】:

    使用$_SESSION['privilege'] 代替$_SESSION('privilege')(注意方括号)

    【讨论】:

      【解决方案3】:

      你好,塔尔弗雷德!

      $_SESSION 是数组,不是函数!!

      因此您需要将$_SESSION('privilege') = $privilege; 更改为$_SESSION['privilege'] = $privilege;

      希望这会有所帮助!
      -杰克

      【讨论】:

        猜你喜欢
        • 2013-07-26
        • 1970-01-01
        • 2012-11-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-02-07
        • 2017-09-12
        • 2014-03-31
        相关资源
        最近更新 更多