i am new in php i am trying logout and redirect on index page my file is like this
i am facing that problem when i want to logout i don not why that happen where i do mistake
in my code.any one tell me where i do mistake in my php code..
我的 logout.php 文件就像是我的代码中有任何错误
logout.php
<?php
session_start();
session_destroy();
header('Location:index.php');
exit;
?>
这是我的 index.php 文件。如果我设置$ _SESSION ['s_activId']而不是它正常工作但是当我试图放置条件如果当时没有设置$ _SESSION ['s_activId']我希望在索引页面上传递标题有时它是工作一些时间不起作用
<?php
include('include/config.inc.php');
if(!isset($_SESSION['s_activId']))
{
$_SESSION['s_urlRedirectDir'] = $_SERVER['REQUEST_URI'];
header("Location:index.php");
}
else
{
$wrong = '';
if(isset($_POST['submit']))
{
$checkLogin = "SELECT userName,password,userType
FROM user
WHERE BINARY userName = '".$_POST['userName']."'
AND BINARY password = '".$_REQUEST['password']."'";
$checkLoginresult = mysql_query($checkLogin);
if($userLoginRow = mysql_fetch_array($checkLoginresult))
{
$_SESSION['s_activId'] = $userLoginRow['userName'];
$_SESSION['s_password'] = $userLoginRow['password'];
$_SESSION['hg_userType'] = $userLoginRow['userType'];
if(!$_SESSION['s_urlRedirectDir'])
{
header("Location:index.php");
}
else
{
header("Location:reminder.php");
}
}
else
{
$wrong = "UserId And Password Is Not Valid";
}
}
}
include("bottom.php");
$smarty->assign('wrong',$wrong);
$smarty->display("index.tpl");
?>
答案 0 :(得分:0)
问题出现在 index.php :
中的以下情况中if(!isset($_SESSION['s_activId']))
{
$_SESSION['s_urlRedirectDir'] = $_SERVER['REQUEST_URI'];
header("Location:index.php");
}
当您退出时,您在 logout.php 上调用session_destroy()
并在 index.php 上重定向,上面的条件为true
为s_activId
未设置为会话,您再次重定向 index.php (未在会话中设置s_activId
)。在会话中设置变量s_activId
之前,上述情况将成立,因此您会收到ERR_TOO_MANY_REDIRECTS
错误。
解决方案是,在 index.php 上,在调用s_activId
方法之前在会话中设置变量header
。请参考以下代码:
if(!isset($_SESSION['s_activId']))
{
$_SESSION['s_urlRedirectDir'] = $_SERVER['REQUEST_URI'];
$_SESSION['s_activId'] = true;
header("Location:index.php");
}
答案 1 :(得分:0)
不要将index.php重定向到index.php。你有重定向循环。也 如果你有下面的代码,也可以开火添加骰子,因为之后 下面的重定向代码仍然执行。我也许没有看过你的代码
之后没有问题
header("Location: lalala"); always add die(); or exit();