$ _SESSION启用内容-PHP

时间:2019-05-13 21:13:50

标签: php session

我有3页: -登录 -家 -另一页

在登录名中,我初始化$ _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>   

1 个答案:

答案 0 :(得分:0)

1st如果用户名和密码的用户输入与具有 $ _ 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>

希望您可以从中获得一些东西。