2017-09-23 9 views
0

J'ai créé deux tables dans mysql phhmyadmin. 1) reg_users 2) cam_details La table reg_users prend l'email et transmet un identifiant unique aussi. La table cam_details prend les informations relatives à la caméra et possède également un user_id unique. Mais le problème est quand l'utilisateur s'est connecté au site je veux afficher les informations de cam_details que l'utilisateur a précédemment téléchargées. Mais je ne peux pas faire cela. Je suis nouveau sur php. Est-il possible d'afficher cam_info une fois connecté au site Web?comment afficher le profil de l'utilisateur avec toutes les informations d'utilisateur lors de la connexion au site Web dans php pdo mysql?

J'ai également utilisé des sessions.

enter image description here

enter image description here

C'est class.user.php Fichier-

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

Pouvez-vous montrer quel code vous avez en ce moment? –

+0

Quelle rangée exacte voulez-vous afficher pour l'utilisateur? –

+0

Je veux afficher les données précédemment téléchargées de cet utilisateur particulier .. –

Répondre

0

Si je comprends bien, après votre fonction de connexion renvoie true, vous redirigez à la page de profil. Vous pouvez utiliser votre session pour obtenir des données de la base de données. Pouvez-vous montrer le script de la page après la connexion?

+0

J'ai deux tables dans la base de données. Comment extraire des données de la table cam_info d'un utilisateur particulier qui a précédemment importé des données dans la table dat –

+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 O ru ru.userID =: id –