我有带有登录字段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
这是“管理员”目录中的同一登录页面
<?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>";
}
}
?>
这是logout.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");
?>
问题是,如果我在不同选项卡的同一窗口中都登录了,如果我登录了用户,则管理员也登录了,并且如果我注销了其中的任何一个,则用户或管理员都注销了
好吧,您可以将此代码添加到您的php代码中。这是你应该做的
<?php
session_start();
if(isset($_SESSION['alogin'])){
header('Location: profile_page.php');
}
希望如此对您有帮助,还有很多这样的问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句