duanmao9918 2018-08-04 13:12
浏览 80

如何使用登录页面中的会话变量显示用户数据?

I need help regarding using Session variables, I want to display Logged In User's data on the next screen. This is Login.php

    <?php 
    session_start();
        $link = mysqli_connect("shareddb-h.hosting.stackcp.net", 
"StudentDetails-33314e4f", "2kg3dvardk", "StudentDetails-33314e4f");

        if (mysqli_connect_error()) {

            die ("There was an error connecting to the database");

        } 
        $username = "";
        $LoginEmail = (isset($_POST['LoginEmail']) && 
!empty($_POST['LoginEmail'])) ? $_POST['LoginEmail'] : false;
        $LoginPassword = (isset($_POST['LoginPassword']) && 
!empty($_POST['LoginPassword']))? $_POST['LoginPassword']: false;


        $query ="SELECT `Email`,`ID`, `Password` FROM `StudentInfo` WHERE 
Email='$LoginEmail' AND Password='$LoginPassword'";
        $result = mysqli_query($link, $query);    
        $count = mysqli_num_rows($result);
        if($count == 1 )
        {
            $query ="SELECT `ID` FROM `StudentInfo` WHERE Email='$LoginEmail' 
AND Password='$LoginPassword'";
            $result = mysqli_query($link, $query);
            $array = array();
            while($row = mysqli_fetch_assoc($result))
            {
                $array[] = $row;
            }
            $_SESSION['userid'] =$array ;
            header("location: StudentInformation.php");
        }
        else {

            $_SESSION['errMsg'] = "Invalid username or password";

        }


    ?>

This is STudentInfo Page on which I want to display the data.

    <?php 
    session_start();
        $link = mysqli_connect("shareddb-h.hosting.stackcp.net", 
"StudentDetails-33314e4f", "2kg3dvardk", "StudentDetails-33314e4f");

        if (mysqli_connect_error()) {

            die ("There was an error connecting to the database");

        }
        $query = "SELECT `FirstName` FROM `StudentInfo` WHERE ID = 
'".$_SESSION['userid[ID]']."'";
        $FN = mysqli_query($link,$query);
        $FirstName = mysqli_fetch_assoc($FN);
        print_r($FirstName);
?>

I tried everything and it seems that mysqli_fetch_assoc is not working in Login.php and StudentInfo page. Please help me over this or if you have any other alternative, it is welcome!

  • 写回答

2条回答 默认 最新

  • dongpa9277 2018-08-04 13:34
    关注

    In your first code you have to change your code like this:

      <?php 
        session_start();
            $link = mysqli_connect("localhost", "user", "pass", "db"); //take care, you should avoid posting sensitive data 
    
            if (mysqli_connect_error()) {
    
                die ("There was an error connecting to the database");
    
            } 
            $username = "";
            $LoginEmail = (isset($_POST['LoginEmail']) && 
    !empty($_POST['LoginEmail'])) ? $_POST['LoginEmail'] : false;
            $LoginPassword = (isset($_POST['LoginPassword']) && 
    !empty($_POST['LoginPassword']))? $_POST['LoginPassword']: false;
    
    
            $query ="SELECT `Email`,`ID`, `Password` FROM `StudentInfo` WHERE 
    Email='".$LoginEmail."' AND Password='".$LoginPassword."'"; 
            $result = mysqli_query($link, $query);    
            $count = mysqli_num_rows($result);
            if($count == 1 )
            {
                $query ="SELECT `ID` FROM `StudentInfo` WHERE Email='".$LoginEmail."' 
    AND Password='".$LoginPassword."'";
                $result = mysqli_query($link, $query);
                $array = array();
                while($row = mysqli_fetch_assoc($result))
                {
                    $array[] = $row;
                }
                $_SESSION['userid'] =$array['userid'] ; //instead of saving the complete row, you can save just the variable
                header("location: StudentInformation.php");
            }
            else {
    
                $_SESSION['errMsg'] = "Invalid username or password";
    
            }
    
    
        ?>
    

    And then in your second code you just have to replace your query

     $query = "SELECT `FirstName` FROM `StudentInfo` WHERE ID = '".$_SESSION['userid']."'"; 
    

    Hope this helps

    评论

报告相同问题?

悬赏问题

  • ¥15 yolov8边框坐标
  • ¥15 matlab中使用gurobi时报错
  • ¥15 WPF 大屏看板表格背景图片设置
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真