簡體   English   中英

無法在類文件中創建會話

[英]Could not get session created in class file

我有一個具有登錄功能的班級文件

當用戶已經注冊時,我在登錄功能中創建了會話,但是當我在另一個頁面中獲取該會話時,它將顯示空會話

operation.php

session_start();
class Operation
{
    private $_conn;

    public function __construct()
    {
        // code of connection with DB
        $this->_conn = $con;
        // connection succcessfully done
    }
    function login() {
      $login_sql = $this->_conn->prepare("SELECT * FROM tbl_user WHERE (email=:email OR mobile=:mobile) AND password=:password");
      $login = $login_sql->execute(array('email' => $email,'mobile' => $mobile,'password' => $password));
      $res_login = mysqli_num_rows($login);
      if ($res_login == 1) {
          $res_login = mysqli_fetch_assoc($login);
          $login_arr  = array('user_id' =>$res_login['id'],'first_name' =>$res_login['first_name'],'last_name' =>$res_login['last_name'],'email' =>$res_login['email'],'mobile' =>$res_login['mobile'],'point'=>($res_login['accumulated_points']-$res_login['used_points']));
          $_SESSION["login_data"] = $login_arr;
          print_r($_SESSION); // Here session print successfully
          echo "User successfully login";
       } else {
           echo "invalid user";
       }
    }
}
op = new Operation();
$op->login();

get_data.php

session_start();
print_r($_SESSION);

首先,我在瀏覽器選項卡上運行operation.php,它顯示會話數據,但此后,我在另一個選項卡中運行get_data.php,它顯示空數組。

請幫助我我錯了...

將這樣的值硬編碼到類代碼中通常是不切實際的,因此我會使用構造方法:

<?php

class pardEngine{
    private $hostname;
    private $database;
    private $database_user;
    private $database_user_pass;

    public function __construct($hostname, $database, $database_user, $database_user_pass){
        $this->hostname = $hostname;
        $this->database = $database;
        $this->database_user = $database_user;
        $this->database_user_pass = $database_user_pass;
    }
}


session_start();
$engine = new pardEngine($_SESSION['HOSTNAME'], $_SESSION['DATABASE'], $_SESSION['USER']);

暫無
暫無

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

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