我有3个页面:-login -home -another页面
在登录时,我初始化$ _SESSION:
$_SESSION['admin'];
在提交登录表单后,重定向到文件顶部的主页,我的代码是:
home.php:
<?php session_start(); ?>
<?php if(isset($_SESSION['admin'])) {?>
write content if $_SESSION is true
<?php }else{ ?>
write content if $_SESSION it's false
<?php } ?>
一次是,一次否,如果从主页,我转到另一个页面,总是遵循下面的代码,我总是得到错误的结果
如何在登录页面中初始化$ _SESSION以使其始终有效?
我认为这也是一个未完成的$ _SESSION问题
logout.php:
<?php
session_unset('admin');
header("location: index.php?sd=Y");
?>
<script type="text/javascript">
window.location = "index.php";
</script>
发布于 2019-05-14 05:54:05
首先,如果用户输入的用户名和密码与使用$_SESSION的数据库记录相匹配,则应保存所需的用户凭据以供进一步使用
include("..\includefiles\db.php");
$email =$_POST["email"];
$password = $_POST["password"];
$sql = "SELECT * FROM member WHERE email ='$email' AND password = '$password'";
$result = mysqli_query ($con,$sql);
if($row = mysqli_fetch_array($result)){
$_SESSION['ID'] = $row['id'];
$_SESSION['NAME'] = $row['name'];
$_SESSION['ROLE'] = $row['role'];
if($_SESSION['ROLE']=='a'){
header("Location: ..\dashBoard.php");
}else{
header("Location: ..\index.php");
}
保存会话后,您只需使用以下命令启动会话
session_start()
函数在每一页中。请注意,session_start()函数必须是文档中的第一个内容。在执行任何HTML之前,请检查会话的可用性,如果未设置会话,则重定向到登录页面。请参见下面的代码。
<?php
session_start();
if(isset($_SESSION["ROLE"])){
}else{
header("Location: login.php");
}
?>
<!DOCTYPE html>
希望你能从中学到一些东西。
https://stackoverflow.com/questions/56119955
复制相似问题