在PHP中如何在用户正确登录后显示用户信息

时间:2013-12-05 00:17:42

标签: php html mysql

我搜索了许多尝试过的例子和解决方案并遇到了同样的问题,如果有人可以提供帮助,我将不胜感激。

基本上我连接了数据库,当他们正确登录时,页面将被定向到login_success.php。一旦进入页面,我希望用户显示他们的详细信息。

我显然不希望答案我只是希望了解我哪里出错了。

<?php
        ob_start();
        include 'connect.php';
    } else {
        header('Location: main_login.php?error=2');
    }
    ob_end_flush();
?>

2 个答案:

答案 0 :(得分:0)

在分配会话之前,您应首先获取用户名和密码,如下所示:

$login_user = mysql_query("SELECT * FROM $tbl_name WHERE email_address = '".$myusername."' and password = '".$mypassword."'");

$row = mysql_fetch_array($login_user);



$_SESSION['myusername'] = $row['myusername'];
$_SESSION['mypassword'] = $row['password']; 

不再使用mysql函数,它们不再受支持和维护,并且正式折旧。

答案 1 :(得分:0)

看起来您没有在登录文件中启动会话。这会导致您的$_SESSION变量在登录后不会转移到下一页。由于您在所有文件中都需要connect.php(很可能),您应该session_start()在那个顶部。这样你的会话就开始了,你不必在每个代码页中输入那一行。

您正在login_success.php标记之前回复html中的信息。相反,请转到您希望显示的代码并使用:

<?= "your email is... ".$_SESSION['myusername']; ?>
<?= $row['forename'] . " " . $row['surname']; ?>

如果您没有看到任何$row个变量的内容,请尝试在屏幕上打印$row以查看它们的持续时间。

<? print_r($row); ?>

如果您没有看到$row的任何内容,则表明您的查询无效。