簡體   English   中英

如果用戶已經在 php mysql 中登錄,如何將用戶重定向到配置文件頁面

[英]how to redirect user to profile page if already user is logedin in php mysql

如果用戶使用 id 和密碼登錄,我有帶有登錄字段 id 和密碼的主頁,它將重定向到 profile.php 它工作正常,但是當我打開新標簽時,它再次顯示登錄頁面而不是配置文件頁面。 這是我的代碼

<?php
session_start();

include('includes/config.php');
if(isset($_POST['login']))
{
$status='1';
$email=$_POST['username'];
$password=md5($_POST['password']);
$sql ="SELECT email,password FROM users WHERE email=:email and password=:password and status=(:status)";
$query= $dbh -> prepare($sql);
$query-> bindParam(':email', $email, PDO::PARAM_STR);
$query-> bindParam(':password', $password, PDO::PARAM_STR);
$query-> bindParam(':status', $status, PDO::PARAM_STR);
$query-> execute();
$results=$query->fetchAll(PDO::FETCH_OBJ);
if($query->rowCount() > 0)
{
$_SESSION['alogin']=$_POST['username'];

echo "<script type='text/javascript'> document.location = 'profile.php'; </script>";
} else{

echo "<script>alert('Invalid Details Or Account Not Confirmed');</script>";

}

}

?>

如何將用戶重定向到 profile.php 如果用戶已經登錄,如果在新選項卡或新 window 中打開

這是“admin”目錄中的相同登錄頁面

<?php
session_start();
if(isset($_SESSION['alogin'])){
 header('Location: dashboard.php');
}
include('includes/config.php');
if(isset($_POST['login']))
{
$email=$_POST['username'];
$password=md5($_POST['password']);
$sql ="SELECT UserName,Password FROM admin WHERE UserName=:email and Password=:password";
$query= $dbh -> prepare($sql);
$query-> bindParam(':email', $email, PDO::PARAM_STR);
$query-> bindParam(':password', $password, PDO::PARAM_STR);
$query-> execute();
$results=$query->fetchAll(PDO::FETCH_OBJ);
if($query->rowCount() > 0)
{
$_SESSION['alogin']=$_POST['username'];
echo "<script type='text/javascript'> document.location = 'dashboard.php'; </script>";
} else{

  echo "<script>alert('Invalid Details');</script>";

}

}

?>

這是注銷。php 兩者都相同,只是目錄不同

<?php
session_start(); 
$_SESSION = array();
if (ini_get("session.use_cookies")) {
    $params = session_get_cookie_params();
    setcookie(session_name(), '', time() - 60*60,
        $params["path"], $params["domain"],
        $params["secure"], $params["httponly"]
    );
}
unset($_SESSION['login']);
session_destroy(); // destroy session
header("location:index.php"); 
?>

問題是如果我在不同的選項卡中登錄相同的 window 如果我登錄用戶然后管理員也登錄並且如果我注銷其中任何一個用戶或管理員都是注銷

那么您可以將此代碼添加到您的 php 代碼中。 這是你應該做的

<?php
session_start();
if(isset($_SESSION['alogin'])){
 header('Location: profile_page.php');
}

希望對你有幫助,這樣的問題很多。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM