php - 页面不工作,太多次
问题描述
此页面无法正常工作 localhost 将您重定向了太多次。尝试清除您的 cookie。ERR_TOO_MANY_REDIRECTS 这是主要错误我不知道是什么问题,我的代码正确,请帮助我是新来的。我已经提交了代码 html 和 php,如果有人知道主要问题是什么,请与我分享。
<?php
session_start();
if (isset($_SESSION['admin'])) {
header('location:admindash.php');
}
else{
header('location:login.php');
}
include('header.php');
?>
<body background="../bgimage.jpg">
<div class="container">
<div id="loginbox" style="margin-top:50px;" class="mainbox col-md-6 col-md-offset-3 col-sm-8 col-sm-offset-2">
<div class="panel panel-info" >
<div class="panel-heading">
<div class="panel-title text-center">Login for Admin</div>
<div style="float:right; font-size: 80%; position: relative; top:-10px"><a href="#"></a></div>
</div>
<div style="padding-top:30px" class="panel-body" >
<div style="display:none" id="login-alert" class="alert alert-danger col-sm-12"></div>
<form id="loginform" class="form-horizontal" role="form" method="post" action="login.php">
<div style="margin-bottom: 25px" class="input-group">
<span class="input-group-addon"><i class="glyphicon glyphicon-user"></i></span>
<input id="login-username" type="text" class="form-control" name="uname" value="" placeholder="username or email">
</div>
<div style="margin-bottom: 25px" class="input-group">
<span class="input-group-addon"><i class="glyphicon glyphicon-lock"></i></span>
<input id="login-password" type="password" class="form-control" name="password" placeholder="password">
</div>
<div class="input-group">
<div class="checkbox">
<label>
<input id="login-remember" type="checkbox" name="remember" value="1"> Remember me
</label>
</div>
</div>
<div style="margin-top:10px" class="form-group">
<!-- Button -->
<div class="col-sm-12 controls">
<input id="btn-login" class="btn btn-success" type="submit" name="submit" value="login">
</div>
</div>
<div class="form-group">
<div class="col-md-12 control">
</div>
</div>
</form>
</div>
</div>
</body>
</html>
<?php
include('../dbcon.php');
if (isset($_POST['submit'])) {
$username = $_POST['uname'];
$password = $_POST['password'];
$qry = "SELECT * FROM `login` WHERE `uname`='$username' AND `password`='$password' ";
$run = mysqli_query($dbcon,$qry);
$row = mysqli_num_rows($run);
if ($row<1)
{
?>
<script type="text/javascript">alert('username and password does not match');
window.open('login.php','_self')
</script>
<?php
}
else{
$data = mysqli_fetch_assoc($run);
$id = $data['id'];
$_SESSION['admin'] = $id;
header('location:admindash.php');
}
}
?>
解决方案
您的登录页面正在重定向到自身:
if (isset($_SESSION['admin'])) {
header('location:admindash.php');
}
else{
header('location:login.php'); // here
}
每次页面加载时它都会这样做。这会导致无休止的重定向循环。由于用户已经在登录页面上,您不需要将他们发送到登录页面。只需else
完全删除块:
if (isset($_SESSION['admin'])) {
header('location:admindash.php');
}
推荐阅读
- reporting-services - SSRS 列组布局
- r - 使用 Tidyr 创建数据集
- c++ - 使用 gcc 标志 -fno-exceptions 编译会减小可执行二进制文件的大小吗?
- javascript - 为什么 JSON.stringify() 不能正常工作
- javascript - 加载亚马逊机械转向模板时在 html 中隐藏 div 块
- c# - PKCS#11 HSM 记住密码
- c# - 将静态列添加到动态 LINQ 查询
- oracle - 甲骨文选择为
存储过程之后的等价物 where is an outbound parameter (JDBC/SQL Only no SQL*Plus) - r - 您如何为 ggplot 中的分箱连续数据手动提供中断(和颜色)?
- c - 如何使用 Doxygen 记录依赖于预处理器定义的 typedef?