猿问

会话不重定向

我有一个登录页面,当检查数据库是否存在用户时,不会重定向到面板问题出在会话中,因为没有它它可以正常工作


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


    $entrou = $_SESSION['entrou'];

    header('location: painel.php');

在这里我们检查一下,如果没有创建会话,则自动因为没有登录,如果没有会话,则重定向到登录


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

  unset($_SESSION['entrou']);

  header('location: index.php');

}


神不在的星期二
浏览 169回答 3
3回答

慕无忌1623718

如前所述,您必须在要使用会话的每个文件的开头启动会话。如果要设置会话,请使用以下命令:session_start();$_SESSION[NAME] = VALUE;并在检查会话是否设置后重定向,您可以这样做:session_start();if (isset($_SESSION[NAME]){   header(‘Location: index.php‘;}

小唯快跑啊

试一试。// 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');}

一只斗牛犬

在这里试试这个<?phpsession_start();...if($sql->RowCount()>0){&nbsp; &nbsp;$_SESSION['entrou'] = true;&nbsp; &nbsp;header('location: panel.php');}else {&nbsp; &nbsp; header('location: index.php'); // "no user in the db!"}...if (!isset($_SESSION['entrou']) {&nbsp; &nbsp; header('location: index.php');}?>但当然,如果你想检查用户是否存在于数据库中,你应该做这样的事情<?php$data = $sql->query('SELECT * WHERE username=$_SESSION["username"]') // where "username" is the username columnif ($data == "") {&nbsp; &nbsp; header('location: index.php'); // user is non-existent}else {&nbsp; &nbsp; header('location: panel.php'); // the user is in the database}// note this only applies if you're using SQLite
随时随地看视频慕课网APP
我要回答