如何在使用php pdo mysql登录网站时将所有用户信息的用户配置文件进行dsiplay?

问题描述:

我在mysql phhmyadmin中创建了两个表。 1)reg_users 2)cam_details reg_users表需要电子邮件并传递一些唯一的ID也。 cam_details表需要相机相关的信息也有一个唯一的user_id。 但问题是当用户登录到我想要显示用户以前上传的cam_details信息的网站。 但我无法做到这一点。 我是新来的PHP。登录到网站后,有没有办法显示cam_info?如何在使用php pdo mysql登录网站时将所有用户信息的用户配置文件进行dsiplay?

我也使用过会话。

enter image description here

enter image description here

这是class.user.php文件 -

<?php 

require_once 'dbconfig.php'; 

class USER 
{ 
    private $conn; 

    public function __construct() 
    { 
     $database = new Database(); 
     $db = $database->dbConnection(); 
     $this->conn = $db; 
    } 


    public function runQuery($sql) 
    { 
     $stmt = $this->conn->prepare($sql); 
     return $stmt; 
    } 

    public function lasdID() 
    { 
     $stmt = $this->conn->lastInsertId(); 
     return $stmt; 
    } 

    public function register($email,$upass,$code) 
    { 
     try 
     {       
      $password = md5($upass); 
      $stmt = $this->conn->prepare("INSERT INTO reg_users(userEmail,userPass,tokenCode) 
                 VALUES(:user_mail, :user_pass, :active_code)"); 
      $stmt->bindparam(":user_mail",$email); 
      $stmt->bindparam(":user_pass",$password); 
      $stmt->bindparam(":active_code",$code); 
      $stmt->execute(); 
      return $stmt; 
     } 
     catch(PDOException $ex) 
     { 
      echo $ex->getMessage(); 
     } 
    } 

    public function login($email,$upass) 
    { 
     try 
     { 
      $stmt = $this->conn->prepare("SELECT * FROM reg_users WHERE userEmail=:email_id"); 
      $stmt->execute(array(":email_id"=>$email)); 
      $userRow=$stmt->fetch(PDO::FETCH_ASSOC); 

      if($stmt->rowCount() == 1) 
      { 
       if($userRow['userStatus']=="Y") 
       { 
        if($userRow['userPass']==md5($upass)) 
        { 
         $_SESSION['userSession'] = $userRow['userID']; 
         return true; 
        } 
        else 
        { 
         header("Location: index.php?error"); 
         exit; 
        } 
       } 
       else 
       { 
        header("Location: index.php?inactive"); 
        exit; 
       } 
      } 
      else 
      { 
       header("Location: index.php?error"); 
       exit; 
      }  
     } 
     catch(PDOException $ex) 
     { 
      echo $ex->getMessage(); 
     } 
    } 


    public function is_logged_in() 
    { 
     if(isset($_SESSION['userSession'])) 
     { 
      return true; 
     } 
    } 

    public function redirect($url) 
    { 
     header("Location: $url"); 
    } 

    public function view_item($id){ 

    try{ 


     $stmt = $this->conn->prepare('SELECT user_id, user_name, mobile, cam_name, rent, model, cam_img, upd_date FROM cam_details WHERE user_id = :id'); 
     $stmt->bindParam(':id', $id); 
     $stmt->execute(); 
     return $stmt; 

    } 
    catch(PDOException $ex) 
     { 
      echo $ex->getMessage(); 
     } 
    } 

    public function final_view() 
    { 
    try 
    { 
    $stmt = $this->conn->prepare('SELECT user_id, user_name, mobile, cam_name, rent, model, cam_img, upd_date FROM cam_details WHERE user_id= :id'); 
    $stmt->bindParam(':id', $id); 
    $stmt->execute(); 
    return $stmt; 
    } 
    catch(PDOException $ex) 
     { 
      echo $ex->getMessage(); 
     } 
    } 
    public function getDetails() 
    { 

    try 
    { 
    $stmt = $this->conn->prepare('SELECT user_id, user_name, mobile, cam_name, rent, model, cam_img, upd_date FROM cam_details ORDER BY user_id DESC'); 
    $stmt->execute(); 
    return $stmt; 
    } 
    catch(PDOException $ex) 
     { 
      echo $ex->getMessage(); 
     } 
    } 

    public function logout() 
    { 
     session_destroy(); 
     $_SESSION['userSession'] = false; 
    } 

} 

<?php 
class Database 
{ 

    private $host = "localhost"; 
    private $db_name = "dslr_proj"; 
    private $username = "root"; 
    private $password = ""; 
    public $conn; 

    public function dbConnection() 
    { 

     $this->conn = null;  
     try 
     { 
      $this->conn = new PDO("mysql:host=" . $this->host . ";dbname=" . $this->db_name, $this->username, $this->password); 
      $this->conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
     } 
     catch(PDOException $exception) 
     { 
      echo "Connection error: " . $exception->getMessage(); 
     } 

     return $this->conn; 
    } 
} 
?> 
+0

你可以显示你目前有什么代码? –

+0

你想为用户显示什么确切的行? –

+0

我想显示该特定用户以前上传的数据。 –

据我了解,您的登录函数返回true后,您重定向到个人资料页面。你可以使用你的会话从数据库中获取数据。你可以在登录后显示页面的脚本吗?

+0

我在数据库中有两个表。如何从以前将数据上载到数据表的特定用户的cam_info表中检索数据 –

+0

SELECT cd.user_id,cd.user_name,cd.mobile,cd.cam_name,cd.rent,cd.model,cd.cam_img,cd.upd_date ,ru。* FROM cam_details cd LEFT JOIN reg_users ru ON ru.userID = cd.user_id WHERE ru.userID =:id –