如何使用php在页面角落显示用户登录信息
Posted
技术标签:
【中文标题】如何使用php在页面角落显示用户登录信息【英文标题】:How to display user log in information at the corner of the page using php 【发布时间】:2020-07-19 06:09:42 【问题描述】:我创建了一个用户需要登录的网页。我希望用户看到他/她的信息。这表示你好 user1 并单击此处注销。这是我的代码,我什至看不到注销按钮。
更新:我看到我没有使用该用户名登录的用户名。我使用用户名 student 进入网站。但它显示了不同的用户名。见下图it supposed to write welcome student not yasemin
登录代码:
// LOGIN USER
if (isset($_POST['login_user']))
$username = mysqli_real_escape_string($db, $_POST['username']);
$password = mysqli_real_escape_string($db, $_POST['password']);
if (empty($username))
array_push($errors, "Username is required");
if (empty($password))
array_push($errors, "Password is required");
if (count($errors) == 0)
$password = md5($password);
$query = "SELECT * FROM users WHERE username='$username' AND password='$password'";
$results = mysqli_query($db, $query);
$row = mysqli_fetch_assoc($results);
if('student' == $row['user_type'])
header('Location: ogrenciarayuzu.php');
exit();
elseif ('department' == $row['user_type'])
header('Location: bolumsekreterligiarayuzu.php');
exit();
elseif ('institute' == $row['user_type'])
header('Location: enstituarayuzu.php');
exit();
if (mysqli_num_rows($results) == 1)
$_SESSION['username'] = $username;
$_SESSION['success'] = "You are now logged in";
header('location: index.php');
else
array_push($errors, "Wrong username/password combination");
?>
我把这段代码放在我想查看登录信息的地方。
<?php session_start(); ?> // at the beginning of my code
.
.
.
<?php
if (isset($_SESSION['username'])) :
?>
<p>Welcome <strong><?php echo $_SESSION['username']; ?></strong></p>
<p ><a href="index.php" style="color: black;"> <input type="submit" value="Logout" name="logout"
class="button"/></a> </p>
<?php endif ?>
为了让它成功注销,我把这段代码放在我的index.php
文件中
<?php
session_start();
if (isset($_GET['logout']))
session_destroy();
unset($_SESSION['username']);
header("location: login1.php");
?>
请帮助我为什么我仍然看不到。这里有什么问题?
【问题讨论】:
你到底想在这里做什么 我想查看用户登录网站时的用户名。 当用户登录他们的帐户时,您是否设置会话 同时发布您的登录代码 我还应该把 session_start() 代码放在哪里 【参考方案1】:您的代码出错,您的代码未能设置会话,当 条件为真,然后将用户重定向到另一个 .php 页面 根据您使用的条件。
试试这个代码。
<?php session_start(); ?>
if (isset($_POST['login_user']))
$username = mysqli_real_escape_string($db, $_POST['username']);
$password = mysqli_real_escape_string($db, $_POST['password']);
if (empty($username))
array_push($errors, "Username is required");
if (empty($password))
array_push($errors, "Password is required");
if (count($errors) == 0)
$password = md5($password);
$query = "SELECT * FROM users WHERE username='$username' AND password='$password'";
$results = mysqli_query($db, $query);
if (mysqli_num_rows($results) == 1)
$row = mysqli_fetch_assoc($results);
$_SESSION['username'] = $username;
$_SESSION['success'] = "You are now logged in";
//if you want to redirect user as per its type, you can use this condition
if('student' == $row['user_type'])
header('Location: ogrenciarayuzu.php');
exit();
elseif ('department' == $row['user_type'])
header('Location: bolumsekreterligiarayuzu.php');
exit();
elseif ('institute' == $row['user_type'])
header('Location: enstituarayuzu.php');
exit();
else
header('location: index.php');
else
array_push($errors, "Wrong username/password combination");
【讨论】:
如果你打电话给session_destroy()
。它将销毁所有会话。
因此不需要此代码。 unset($_SESSION['username'])
.
感谢您的帮助和时间。我很感激
我还有一个问题。如何显示全名?我将名称和用户名列添加到我的数据库中。我将使用用户名登录,但页面显示该用户名的姓名和姓氏。以上是关于如何使用php在页面角落显示用户登录信息的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 PHP 将不同的用户选择的 SQL 表显示为 html 表?