获取会话用户的表信息

时间:2018-06-23 18:21:13

标签: php

我已经制作了一个简单的登录系统,该系统使用PHP与mysql对话并开始会话。 在我的页面上,只有那些处于活动状态的用户才能访问该页面,我想向用户显示有关该用户的一些信息。我有一个mysql config php页面,一个登录页面和一个注册页面。

我找到了a great example,但是它在我的代码中不起作用。我已经进行了一些更改以匹配我的数据库以及由登录页面启动的会话。我可能做错了什么?

<?php
$sql = "SELECT fname, lname FROM users WHERE username = '" . $_SESSION['username'] . "'";
$result = mysql_query($sql);
$row = mysql_fetch_array($result);
echo "Hello, " . $row['fname'] . " (" . $row['lname'] . ").";
?>

我什至尝试过:

<?php
echo $_SESSION['username'];
?>

哪个也不行。

2 个答案:

答案 0 :(得分:0)

首先需要一个到数据库的链接,其次不建议使用mysql,请改用mysqli。还要看看针对SQL注入的准备好的语句。

  <?php
     $servername = "Servername";
     $username = "Username";
     $password = "Password";
     $database = "Database";

    $link = new mysqli($servername, $username, $password, $database);
    $sql = "SELECT fname, lname FROM users WHERE username = '" . $_SESSION['username'] . "'";
    $result = mysqli_query($link, $sql);
    while($row = mysqli_fetch_array($result)){
        echo "Hello, " . $row['name'] . " (" . $row['email'] . ").";
    }
    ?>

答案 1 :(得分:0)

如果在

时没有得到结果
 <?php
    echo $_SESSION['username'];
 ?>

这意味着您没有为$ _SESSION ['username']分配值,或者没有在其上使用session_start()。

尝试这样,

 <?php
    session_start(); //on top of everything
    echo $_SESSION['username'];
    ?>