首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >启用内容- $_SESSION

启用内容- $_SESSION
EN

Stack Overflow用户
提问于 2019-05-14 05:13:50
回答 1查看 46关注 0票数 1

我有3个页面:-login -home -another页面

在登录时,我初始化$ _SESSION:

代码语言:javascript
复制
$_SESSION['admin'];

在提交登录表单后,重定向到文件顶部的主页,我的代码是:

home.php:

代码语言:javascript
复制
<?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:

代码语言:javascript
复制
<?php
session_unset('admin');
header("location: index.php?sd=Y");
?>
<script type="text/javascript">
window.location = "index.php";
</script>   
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-14 05:54:05

首先,如果用户输入的用户名和密码与使用$_SESSION的数据库记录相匹配,则应保存所需的用户凭据以供进一步使用

代码语言:javascript
复制
    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之前,请检查会话的可用性,如果未设置会话,则重定向到登录页面。请参见下面的代码。

代码语言:javascript
复制
 <?php
    session_start();

   if(isset($_SESSION["ROLE"])){    

   }else{
           header("Location: login.php");
       }

   ?>   
      <!DOCTYPE html>

希望你能从中学到一些东西。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56119955

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档