我很困惑,我甚至不能很好地解釋我的問題。當我點擊我的註冊按鈕時,它會重定向到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