需要在用户登录php时显示用户名的帮助吗
下面是我的php代码,除了用户登录并被重定向到受限页面之外,一切都很好。当一个人注册时,他们会填写自己的名字、电子邮件和密码。在登录页面中,它只需要电子邮件和密码。当他们被重定向时,我只想显示他们的名字。我已经尝试使session=$result返回sql查询的结果,但是如果这样做,它甚至不会重定向到受限页面。我做错了什么需要在用户登录php时显示用户名的帮助吗,php,sql,html,Php,Sql,Html,下面是我的php代码,除了用户登录并被重定向到受限页面之外,一切都很好。当一个人注册时,他们会填写自己的名字、电子邮件和密码。在登录页面中,它只需要电子邮件和密码。当他们被重定向时,我只想显示他们的名字。我已经尝试使session=$result返回sql查询的结果,但是如果这样做,它甚至不会重定向到受限页面。我做错了什么 <?php // DATABASE VARIABLES $user_name = ""; $pass_word = ""; $database = ""; $serv
<?php
// DATABASE VARIABLES
$user_name = "";
$pass_word = "";
$database = "";
$server = "";
// CONNECTS TO DATABASE
$db_handle = mysql_connect($server, $user_name, $pass_word);
$db_found = mysql_select_db($database, $db_handle);
// ACCOUNT INFORMATION
$email;
$password;
$num_rows = 0;
// IF SUBMIT IS CLICKED
if (isset($_POST['submit'])) {
// STORES INPUTS AS VARIABLES
$email = $_POST['email'];
$password = $_POST['password'];
// REMOVES HARMFUL CODE
$email = htmlspecialchars($email);
$password = htmlspecialchars($password);
if ($db_found) {
$SQL = "SELECT * FROM accounts WHERE email = '$email' AND password = '$password'";
$result = mysql_query($SQL);
$num_rows = mysql_num_rows($result);
if ($num_rows > 0) {
session_start();
$_SESSION['login'] = ?;
header ("Location: loggedin/account.php");
}
else {
session_start();
$_SESSION['login'] = '';
}
}
else {
}
}
?>
以下是我要做的 //从数据库中获取用户名
$row = mysql_fetch_row($result);
if ($num_rows > 0) {
//添加到会话变量
session_start();
$_SESSION['login'] = $row['username'];
header ("Location: loggedin/account.php");
}
else {
//退出或重定向到登录失败页面
}
}
else {
这对我来说似乎没问题,尽管我目前还不能测试
编辑
您可能想了解一下如何使用Mysqli和PDO连接,它会稍微快一点,而且肯定会更安全,如果您有时间的话,这只是一个建议。另外,准备好的语句肯定会更安全。这就是我登录的方式。。。您必须为mysql中的每个用户提供一个ID,并定义
$_SESSION['user_id'] = $fetched_id;
在loggedin/account.php页面中,您可以简单地执行以下操作:
$user_id = $_SESSION['user_id'];
$query = mysql_query("SELECT `first_name` FROM `users` WHERE `id` = '{$user_id}'");
$\u会话['login']=”有什么用这是你的问题吗?是的,这是我需要帮助的部分。我不知道将它设置为什么…您需要从结果集中获取一行,并使用该行中的字段来填充会话变量。那么问题是什么?重定向不起作用,或者没有正确显示其名称?这里:--这些将为您提供一个见解。
$user_id = $_SESSION['user_id'];
$query = mysql_query("SELECT `first_name` FROM `users` WHERE `id` = '{$user_id}'");