我搜索了许多尝试过的例子和解决方案并遇到了同样的问题,如果有人可以提供帮助,我将不胜感激。
基本上我连接了数据库,当他们正确登录时,页面将被定向到login_success.php
。一旦进入页面,我希望用户显示他们的详细信息。
我显然不希望答案我只是希望了解我哪里出错了。
<?php
ob_start();
include 'connect.php';
} else {
header('Location: main_login.php?error=2');
}
ob_end_flush();
?>
答案 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
的任何内容,则表明您的查询无效。