按下后退按钮离开页面时。登录页面不应该来。因为我已经登录了!当其他用户已经登录时,其他用户如何登录!它应该要求现有用户注销,然后允许其他用户登录!示例:当我们登录Facebook时,尝试转到登录页面。它不会打开登录页面,而是打开我们的帐户,因为我们仍然登录!
帐户页码:
<?php
require 'connection.php';
session_start();
?>
<?php
if(isset($_SESSION['id']))
{
$id=$_SESSION['id'];
?>
<!doctype html>
<html>
<head></head>
<body>
<div id="content">
logged in
</div>
</body>
</html>
<?php
}
else
{
header('location:login.php');
die();
}
?>
注册码:
<?php
require 'connection.php';
session_start();
?>
<?php
if(isset($_POST['REGISTER']))
{
$user=$_POST['user'];
$email=$_POST['email'];
$pass=$_POST['pass'];
$sql = "INSERT INTO users (username,email_id,password) VALUES ('$user','$email','$pass');";
$query = mysqli_query($conn, "SELECT * FROM users WHERE email_id='".$email."'");
if(mysqli_num_rows($query) > 0)
{
echo "OOPS! This email id is already registered.";
header ("refresh7; url=login.php");
}
else
{
if($conn->multi_query($sql) === TRUE)
{
echo 'Hello'.' '.$user.'!'.'<br>';
}}}
$conn->close();
header ("refresh:7; url=login.php");
?>
登录页面代码:
<?php
require 'connection.php';
session_start();
?>
<html>
<head></head>
<body>
<div id="left">
<h2> <a href="login.php"> <center> LOGIN </center> </a> </h2>
<form action="" method="post">
<b> Email Id: </b> <input type="email" name="email" placeholder="abc@xyz.com" required> <br> <br>
<b> Password: </b> <input type="password" name="pass" placeholder="****" required> <br> <br>
<input type="submit" value="LOGIN" name="LOGIN">
</form>
<?php
if(isset($_GET['error'])==true)
{
echo '<font color="red"> <p align="center"> username & password does not match! </p> </font>';
}
?>
</div>
<?php
if(isset($_POST['LOGIN']))
{
$email=$_POST['email'];
$pass=$_POST['pass'];
$sql = $conn->query("SELECT * FROM users WHERE email_id='$email' AND password='$pass'");
$row = $sql->fetch_array(MYSQLI_BOTH);
if($row>0)
{
$_SESSION['id'] = $row['id'];
header('location: account.php');
}
else
{
header('location:login.php?error=1');
}}
?>
</body>
</html>
答案 0 :(得分:1)
您可以添加某种会话验证,
if(isset($_SESSION['id']))
{
?>
Your Logout HTML
<?php
} else {
?>
Your Login HTML.
<?php
}
if
语句将在您设置HTML
会话时显示注销ID
,该会话仅在您登录时设置。
如果未设置else
会话,HTML
部分将显示登录ID
,因此您尚未登录。
您不必将其包含在每个页面上,您只需将网站拆分为多个部分,例如标题,内容和页脚,并将此代码包含在标题中,然后在主文件中使用require
或include
为您省去了必须重新编写整个部分的麻烦。
修改强>
答案 1 :(得分:0)
将其添加到登录页面的顶部:
if(isset($_SESSION['id'])) {
header("Location:account.php");}
但您需要更多身份验证。这将确保用户在尝试查看登录页面时被重定向到帐户页面。