[英]How can i display the username in all the following pages after successful login using html php?
<?php
session_start();
$host="localhost";
$username="root";
$admin=$_POST['Name'];
$pass=$_POST['Password'];
$dummy=0;
$con=mysqli_connect($host,$username,'');
mysqli_select_db($con,"package");
$query="select * from admin where admin_id like '$admin' ";
$sql=mysqli_query($con,$query);
while($row=mysqli_fetch_array($sql,MYSQLI_ASSOC))
{
$dummy=1;
if($row['password']=='$pass')
{
header("Location:booking.html");
}
else
{
$_SESSION['user'] = $admin;
header("Location:admin_login.php");
}
}
if($dummy==0)
{
header("Location:contact.html");
}
mysqli_close($con);
?>
这是我在 php 中的管理员登录页面,我应该如何存储用户名并在 html 中使用它?我使用过 session_start() 但不知道如何在 html 页面中使用它
首先,您显示的 php 文件中存在一些错误,请参见下文进行更正:
<?php
session_start();
$host="localhost";
$username="root";
$admin=$_POST['Name'];
$pass=$_POST['Password'];
$dummy=0;
$con=mysqli_connect($host,$username,'');
mysqli_select_db($con,"package");
$query="select * from admin where admin_id like '$admin' ";
$sql=mysqli_query($con,$query);
while($row=mysqli_fetch_array($sql,MYSQLI_ASSOC))
{
$dummy=1;
if($row['password']=='$pass')
{
$_SESSION['user_id'] = $row['admin_id'];
$_SESSION['user'] = $admin;
header("Location:booking.html");
exit();
}
else
{
header("Location:admin_login.php");
exit();
}
}
if($dummy==0)
{
header("Location:contact.html");
exit();
}
mysqli_close($con);
?>
我在您的代码中修复了以下 2 个错误:
header('location:...')
后编写exit()
header('location:...')
。 否则脚本执行将继续,它不会自行终止。$_SESSION['user']
变量,但如果密码不匹配,则设置会话变量,它将不起作用。现在您可以在所有其他页面中显示用户名,如下所示,在所有其他页面中使用相同的以下代码:
<?php
session_start();
if ( ! isset($_SESSION["user_id"]) || empty($_SESSION["user_id"]) )
{
header("Location:admin_login.php");
exit();
}
// if user is authentic then display username
echo " Hello, " . $_SESSION["user"];
当您使用session_start() 时,会向用户发送一个 cookie,您调用 session_start() 的每个页面都使您能够访问超级全局 $_SESSION。
当您的用户通过身份验证时,您可以设置:
$_SESSION["Username"] = $username;
$_SESSION["UserID"] = $userid;
在其他页面,会话开始后,您可以使用它来检查用户是否已通过身份验证:
if ( ! empty ( $_SESSION["UserID"]))
{
// User is authenticated
echo "Welcome back, " . $_SESSION["Username"] . "!";
}
当会话开始时,所有添加到 $_SESSION 的变量将可用于以后的页面。 你不需要做任何事情来保存这些数据,PHP 会在脚本执行完成后自动保存。
在所有页面中显示登录用户名。
使用以下代码在所有页面中显示会话值。
session_start(); echo $_SESSION['user'];
定义 session_start(); 页面顶部并在您想要的页面上回显会话值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.