Php 从会话用户ID内的表中获取ID

Php 从会话用户ID内的表中获取ID,php,Php,嗨,我正在尝试从sessein数组中我的表中的userID列获取值 在我的register类中,我有以下代码: <?php class Users { public $username = null; public $password = null; public $salt = "Zo4rU5Z1YyKJAASY0PT6EUg7BBYdlEhPaNLuxAwU8lqu1ElzHv0Ri7EM6irpx5w"; public function __construct( $data =

嗨,我正在尝试从sessein数组中我的表中的userID列获取值

在我的register类中,我有以下代码:

<?php

class Users {
public $username = null;
public $password = null; 
public $salt = "Zo4rU5Z1YyKJAASY0PT6EUg7BBYdlEhPaNLuxAwU8lqu1ElzHv0Ri7EM6irpx5w";
public function __construct( $data = array() ) {
if( isset( $data['username'] ) ) $this->username = stripslashes( strip_tags( $data['username'] ) );
if( isset( $data['password'] ) ) $this->password = stripslashes( strip_tags( $data['password'] ) );
}

public function storeFormValues( $params ) {
//store the parameters
$this->__construct( $params );
}

public function userLogin() {
$success = false;
try{
$con = new PDO( DB_DSN, DB_USERNAME, DB_PASSWORD );
$con->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
$sql = "SELECT * FROM users WHERE username = :username AND password = :password LIMIT 1";
$stmt = $con->prepare( $sql );
$stmt->bindValue( "username", $this->username, PDO::PARAM_STR );
$stmt->bindValue( "password", hash("sha256", $this->password . $this->salt), PDO::PARAM_STR );


$stmt->execute();

$valid = $stmt->fetchColumn();

if( $valid ) {
$success = true;
$_SESSION['userID'] = $user->user_id;

}


首先,如果您正在发布表单,您应该使用$\u POST['userID'],并在检索$\u POST['userID']中的值时首先检查它,然后您必须像这样启动会话

session_start();
$_SESSION['userID'] = $_POST['userID']
但是我理解的第一个代码是使用codeigniter或OOP$user->user\u id,第一个$user是变量,第二个是user\u id,可能是访问修饰符,也可以检查$user->user\u id,它有值,然后执行相同的操作

session_start();
$_SESSION['userID'] = $user->user_id;

您是否已在脚本中启动会话?是否可以发布更多代码?我们应该看看处理会话的专家。在将用户设置为try print_r($_SESSION)之后,它说了什么?我正在会话上进行var_转储,它给了我以下信息:数组(4){[“userID”]=>NULL[“loggedIn”]=>bool(true)[“username”]=>string(9)“vladicorp”[“password”]=>string(3)“123”}这是定义用户id的部分,但它根本不起作用:$valid=$stmt->fetchColumn();如果($valid){$user=$stmt->fetchObj();如果($user->user_id>0){最后这是一个如何实现的猜测,我不确定这是否是正确的方向,获取变量并将其放入会话数组中
session_start();
$_SESSION['userID'] = $user->user_id;