我很困惑,我甚至不能很好地解释我的问题。当我点击我的注册按钮时,它会重定向到index.php
。它应该检查错误,而不是重定向或类似的东西。我试过从我的代码中删除错误,更改ID,更改CSS属性。添加和删除JQuery。我真的不知道如何解决这个问题。为什么我的注册按钮重定向到index.php?
编辑
在成功的功能,我试图删除window.open()
,它仍然重定向到index.php
上#check_signup
点击。我将在那里保留这一行,以显示原始代码假设的样子。该代码不会被重定向,因为代码尚未达到成功文本。
假设发生的事情是,代码通过AJAX通过check_signup.php检查错误。如果代码全部正确执行,此页面将返回单词“success”。 script.js中的代码然后在重定向到index.php之前检查单词“success”。
我尝试删除ID #check_signup
并且页面没有重定向。当我尝试点击#check_signup
时发出页面警报时,它不起作用。因此,在点击元素注册之前,页面正在重定向。
这是代码:
的script.js
$(document).ready(function() {
/* Sign Up Page */
$("#check_signup").click(function() {
var username_signup = $("#signup_container input[key='username_signup']").val();
var email_signup = $("#signup_container input[key='email_signup']").val();
var password_signup = $("#signup_container input[key='password_signup']").val();
$.ajax({
type: "POST",
url: "check_signup.php",
data: {username: username_signup, email: email_signup, password: password_signup},
success: function(data){
if(data.indexOf("Success")) {
window.open("index.php","_self");
} else {
$("#signup_container").html(data);
}
}
});
});
});
signup.php
<?php
require "connect.php";
?>
<!DOCTYPE html>
<html>
<head>
<title> Website </title>
<!-- CSS Files -->
<link href="https://fonts.googleapis.com/css?family=Open+Sans" rel="stylesheet">
<link href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.0/css/bootstrap.min.css" rel="stylesheet">
<link rel="stylesheet" href="css/styles.css">
<!-- JS Files -->
<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.0/js/bootstrap.min.js"></script>
<script src='js/jquery.countdown.js'></script>
<script src='js/script.js'></script>
</head>
<body>
<!-- Navigation -->
<nav class="navbar navbar-default navbar-fixed-top">
<div class="container">
<div class="navbar-brand">
<a href="index.php"> <img src="http://logos-download.com/wp-content/uploads/2016/06/Udemy_logo.png" class="img-responsive" id="logo"> </a>
</div>
<div class="pull-right">
<a href='login.php'> <button type="button" class="btn btn-danger" id="login_button">Login</button> </a>
</div>
</div>
</nav>
<!-- End of Navigation col-md-3 portfolio-item -->
<div class="container">
<div class="row vertical-offset-100">
<div class="col-md-4 col-md-offset-4" id='login_form'>
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">Join for Free</h3>
</div>
<div class="panel-body" id='signup_container'>
<form>
<fieldset>
<div class="form-group">
<input class="form-control" placeholder="Username" name="username" type="text" key='username_signup' autocomplete="off">
</div>
<div class="form-group">
<input class="form-control" placeholder="Email" name="email" type="text" key='email_signup' autocomplete="off">
</div>
<div class="form-group">
<input class="form-control" placeholder="Password" name="password" type="password" value="" key='password_signup' autocomplete="off">
</div>
<input class="btn btn-lg btn-primary btn-block" type="button" value="Sign Up Now" id='check_signup'>
</fieldset>
</form>
</div>
</div>
</div>
</div>
</div>
<!-- End of Login Page -->
check_signup.php
<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
<script src='js/script.js'></script>
<?php
require "connect.php";
error_reporting(0);
// Variables
$username = $_POST["username"];
$email = $_POST["email"];
$password = $_POST["password"];
$md5_password = md5($password);
// Username
echo " <form>
<fieldset>";
if(strlen($username) < 3) {
echo "<div class='form-group has-error'>
<label class='control-label' for='inputError1'>Username requires 3 characters</label>
<input type='text' class='form-control' id='inputError1' key='username_signup' value='$username'>
</div>";
} else {
$username_count++;
}
if(strlen($username) > 25) {
echo "<div class='form-group has-error'>
<label class='control-label' for='inputError1'>The username is limited to 25 characters</label>
<input type='text' class='form-control' id='inputError1' value='$username' key='username_signup'>
</div>";
} else {
$username_count++;
}
$check_user = $db->query("SELECT * FROM users WHERE username='$username'");
$num_user = $check_user->num_rows;
if($num_user == 0) {
$username_count++;
} else {
echo "<div class='form-group has-error'>
<label class='control-label' for='inputError1'>Username Taken </label>
<input type='text' class='form-control' id='inputError1' value='$username' key='username_signup'>
</div>";
}
if($username_count == 3) {
echo "<div class='form-group'>
<input class='form-control' placeholder='Username' name='username' type='text' id='username_signup' value='$username' key='username_signup'>
</div>";
}
// End of Username
// Email
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
// invalid emailaddress
echo "<div class='form-group has-error'>
<label class='control-label' for='inputError1'>Invalid Email</label>
<input type='text' class='form-control' id='inputError1' value='$email' key='email_signup'>
</div>";
} else {
$email_count++;
}
$check_email = $db->query("SELECT * FROM users WHERE email='$email'");
$num_email = $check_email->num_rows;
if($num_email == 0) {
$email_count++;
} else {
echo "<div class='form-group has-error'>
<label class='control-label' for='inputError1'>Email Taken</label>
<input type='text' class='form-control' id='inputError1' value='$email' key='email_signup'>
</div>";
}
if($email_count == 2) {
echo "<div class='form-group'>
<input class='form-control' placeholder='Username' name='username' type='text' id='username_signup' value='$email' key='email_signup'>
</div>";
}
// End of Email
// Password
if(strlen($password) < 6) {
echo "<div class='form-group has-error'>
<label class='control-label' for='inputError1'>Password requires 6 characters</label>
<input type='password' class='form-control' id='inputError1' value='$password' key='password_signup'>
</div>";
} else {
$password_count++;
echo "<div class='form-group'>
<input class='form-control' placeholder='Password' name='password' type='password' id='password_signup' value='$password' key='password_signup'>
</div>";
}
echo "<input class='btn btn-lg btn-primary btn-block' type='button' value='Sign Up Now' id='check_signup'>
</fieldset>
</form>";
// End of Password
if($username_count == 3 && $email_count == 2 && $password_count == 1) {
$db->query("INSERT INTO users VALUES('','$username','$email','$md5_password')");
$findID = $db->query("SELECT * FROM users WHERE username='$username' AND password='$md5_password'");
$fetchID = $findID->fetch_object();
$real_id = $fetchID->id;
session_start();
$_SESSION["username"] = $real_id;
echo "Success";
}
?>
我知道这是很多代码。我已经从字面上尝试了我能想到的一切。我相信这是一个简单的错误,但我不知道如何解决这个问题。我试图修复代码来检查错误,而不是重定向到index.php。
如果您的代码不正确地重定向到index.php,那么第一步是搜索代码以查找对index.php的任何引用。你觉得'window.open(“index.php”,“_ self”);'做了什么? – nnnnnn
@nnnnnn我已经删除了对index.php的引用,它仍然重定向到index.php。我不知道为什么... – user6902601
@SumanDey任何帮助表示赞赏。我的头痛得很厉害:) – user6902601