如何使用id和sessions显示当前登录的用户信息

时间:2017-06-23 08:47:55

标签: php session

<?php

    session_start();
    $status="verified";
    $con=mysql_connect("localhost","root","","Hai");
    $db=mysql_select_db('Hai',$con);
    //include('includes/connection.php');



    if(isset($_POST['login']))
    {
        $email=$_POST['email'];
        //$name=$_POST['u_name'];
        $pass=$_POST['pass'];

        $select_user = "select * from users where user_email ='$email' AND user_pass ='$pass'";

        $query = mysql_query($select_user);

        $check_user = mysql_num_rows($query);



        //$_SESSION['uemail'] = "   ".$email;
        $_SESSION['uname'] = "    ".$email;
        //print_r($info);
        $_SESSION['user_id'] = $id;


        if($check_user == 1)
        {
            echo"<script>window.open('profile_desigin.php','_self')</script>";
        }
        else
        {
            echo"<script>alert('Invalid Password Or Email! Try Again')</script>";
        }

    }
    else
    {
        if(!isset($_POST['uname']))
        {
            header('location:main_desigin.php');
        }
    }


?>

2 个答案:

答案 0 :(得分:0)

您需要做的事情:

  1. 停止使用已被折旧且不再受支持的mysql_*个函数。使用mysqli_*或PDO准备好陈述。

  2. 不要以纯文本格式存储密码,请使用password_hash()password_verify()以获得更好的密码安全性。

  3. 使用用户输入查询数据库时,始终使用预准备语句。

  4. 始终使用准备好的陈述。

  5. 现在回到您的问题,以显示当前登录用户的详细信息:

    <强> profile_desigin.php

    <?php
            session_start()
            if(isset($_SESSION['user_id']) && !empty($_SESSION['user_id'])){
    
                // query what ever you want from the database where userid = $_SESSION['user_id']
    
    
            }else{
    
                echo "you need to login to view this page";
                //redirect to login page
            }
    
        ?>
    

答案 1 :(得分:-1)

你必须把所需的一切都放在

会话

$_session['user_id'] = $row['id'];

要查看会话中的内容,您可以回显变量

Echo $session['user_id'];