【发布时间】:2016-04-08 22:13:52
【问题描述】:
我无法重定向到同一页面。我不断收到消息:“本地主机页面不工作,本地主机重定向您太多次,ERR_TOO_MANY_REDIRECTS”。
在我的导航栏中,有注册和登录的下拉菜单。注册工作正常,登录几分钟后突然停止工作。我已经有一个多小时没有碰过代码了。
<?php
session_start();
if(isset($_SESSION['usr_id'])) {
header("Location: index.php");
}
include_once 'dbconnect.php';
//set validation error flag as false
$error = false;
//check if form is submitted
if (isset($_POST['signup'])) {
$name = mysqli_real_escape_string($con, $_POST['name']);
$email = mysqli_real_escape_string($con, $_POST['email']);
$password = mysqli_real_escape_string($con, $_POST['password']);
$cpassword = mysqli_real_escape_string($con, $_POST['cpassword']);
//name can contain only alpha characters and space
if (!preg_match("/^[a-zA-Z ]+$/",$name)) {
$error = true;
$name_error = "Name must contain only alphabets and space";
}
if(!filter_var($email,FILTER_VALIDATE_EMAIL)) {
$error = true;
$email_error = "Please Enter Valid Email ID";
}
if(strlen($password) < 6) {
$error = true;
$password_error = "Password must be minimum of 6 characters";
}
if($password != $cpassword) {
$error = true;
$cpassword_error = "Password and Confirm Password doesn't match";
}
if (!$error) {
if(mysqli_query($con, "INSERT INTO users(name,email,password) VALUES('" . $name . "', '" . $email . "', '" . md5($password) . "')")) {
$successmsg = "Successfully Registered! <a href='login.php'>Click here to Login</a>";
} else {
$errormsg = "Error";
}
}
}
if (isset($_POST['login'])) {
$email = mysqli_real_escape_string($con, $_POST['email']);
$password = mysqli_real_escape_string($con, $_POST['password']);
$result = mysqli_query($con, "SELECT * FROM users WHERE email = '" . $email. "' and password = '" . md5($password) . "'");
if ($row = mysqli_fetch_array($result)) {
$_SESSION['usr_id'] = $row['id'];
$_SESSION['usr_name'] = $row['name'];
header("Location: index.php");
die;
} else {
$errormsg = "Incorrect Email or Password!!!";
}
}
?>
<div class="wraplogin">
<form role="form" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="loginform" id="edd_login_form" class="edd_form">
<fieldset>
<legend>Log into Your Account</legend>
<p>
<label>Username</label>
<input type="text" name="email" required class="form-control" id="edd_user_login" class="required edd-input" />
</p>
<p>
<label>Password</label>
<input type="password" name="password" placeholder="Your Password" required class="form-control" id="edd_user_pass" class="password required edd-input" />
</p>
<p>
<input id="edd_login_submit" type="submit" class="edd_submit" name="login" value="Log In" />
</p>
<li class="divider"></li>
<p class="edd-lost-password">
<a href="#" title="Lost Password">Lost Password? </a>
</p>
</fieldset>
</form>
<span class="text-danger"><?php if (isset($errormsg)) { echo $errormsg; } ?></span>
</div>
有人知道是什么问题吗?
【问题讨论】:
-
代码 sn-ps 仅适用于 HTML、JS 和 CSS,不适用于 PHP。
-
如果你的PHP文件被命名为
index.php,当isset($_SESSION['usr_id'])时,它会一直重定向到自己。