为了账号安全,请及时绑定邮箱和手机立即绑定

会话不重定向

会话不重定向

PHP
神不在的星期二 2021-11-19 16:11:44
我有一个登录页面,当检查数据库是否存在用户时,不会重定向到面板问题出在会话中,因为没有它它可以正常工作if($sql->RowCount()>0){    $entrou = $_SESSION['entrou'];    header('location: painel.php');在这里我们检查一下,如果没有创建会话,则自动因为没有登录,如果没有会话,则重定向到登录    if (!isset($_SESSION['entrou']) == true ) {  unset($_SESSION['entrou']);  header('location: index.php');}
查看完整描述

3 回答

?
慕无忌1623718

TA贡献1744条经验 获得超4个赞

如前所述,您必须在要使用会话的每个文件的开头启动会话。


如果要设置会话,请使用以下命令:


session_start();

$_SESSION[NAME] = VALUE;

并在检查会话是否设置后重定向,您可以这样做:


session_start();

if (isset($_SESSION[NAME]){

   header(‘Location: index.php‘;

}


查看完整回答
反对 回复 2021-11-19
?
小唯快跑啊

TA贡献1863条经验 获得超2个赞

试一试。


// ensure to add session_start at the beginning of 

// all scripts that require use of $_SESSION[]

session_start();


if($sql->rowCount()){

    $entrou = $_SESSION['entrou'];

    header('location: panel.php');

}


if(isset($_SESSION['entrou'])){

    unset($_SESSION['entrou']);

    header('location: index.php');

}


查看完整回答
反对 回复 2021-11-19
?
一只斗牛犬

TA贡献1784条经验 获得超2个赞

在这里试试这个



<?php


session_start();


...


if($sql->RowCount()>0){


   $_SESSION['entrou'] = true;

   header('location: panel.php');

}

else {

    header('location: index.php'); // "no user in the db!"

}


...


if (!isset($_SESSION['entrou']) {

    header('location: index.php');

}


?>

但当然,如果你想检查用户是否存在于数据库中,你应该做这样的事情


<?php


$data = $sql->query('SELECT * WHERE username=$_SESSION["username"]') // where "username" is the username column


if ($data == "") {

    header('location: index.php'); // user is non-existent

}

else {

    header('location: panel.php'); // the user is in the database

}

// note this only applies if you're using SQLite


查看完整回答
反对 回复 2021-11-19
  • 3 回答
  • 0 关注
  • 168 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信