如何在没有页面刷新的情况下在PHP中使用Ajax使用警报消息框?

时间:2016-08-14 05:44:19

标签: javascript php ajax

我的PHP代码与设计及其后端流程一起使用。使用Ajax使用当用户输入数据时'createpassword'和'confirmmpassword'不匹配时弹出的警告消息的正确语法是什么。

我尝试使用JavaScript类型的警告框,但只要用户输入密码,它就会刷新表单。我希望它只显示一个警告框,它不会刷新页面。有没有人有任何想法?

这是我的PHP设计:

<?php
    $MonthArray = array(
        1=>"January",
        2=> "February",
        3=> "March",
        4=> "April",
        5=> "May",
        6=> "June",
        7=> "July",
        8=> "August",
        9=> "September",
        10=> "October",
        11=> "November",
        12=> "December",
    );
?>

<!DOCTYPE html>
<html>
<head>
    <title>Sign up</title>
</head>
<body>
    <div id="container">
        <div id="signup">
            <form action="SignupProcess.php" method="POST">
                <!-- Complete Name -->
                <div class="Name">
                    <label><span style="font-weight:bold">Name</span></label>
                    <br>
                    <input type="text" name="firstname" size="15" placeholder="First" required>
                    <input type="text" name="lastname" size="15" placeholder="Last" required>
                </div>
                <br>

                <!-- Username -->
                <div class="Username">
                    <label><span style="font-weight:bold">Choose your username</span></label><br>
                    <input type="text" name="username" size="35" required>
                </div>
                <br>

                <!-- Password -->
                <div class="Password">
                    <label><span style="font-weight:bold">Create a password</span></label><br>
                    <input type="password" name="createpassword" size="35" required>
                    <br><br>

                    <label><span style="font-weight:bold">Confirm your password</span></label><br>
                    <input type="password" name="confirmpassword" size="35" required>
                </div>
                <br>

                <!-- Birthdate -->
                <div class="Birthdate">
                    <select name="month" required>
                        <option disabled selected>Month</option>
                        <?php foreach($MonthArray as $monthkey => $value) { ?>
                            <option value="<?php echo $monthkey ?>"><?php echo $value ?></option>
                        <?php }?>
                    </select>

                    <input type="text" name="day" placeholder="Day" size="5" required>

                    <select name="year" required>
                        <?php
                            foreach(range(1990, (int)date("Y")) as $year) {
                                echo "\t<option value='".$year."'>".$year."</option>\n\r";
                                rsort($year);
                            }
                        ?>
                    </select>
                </div>

                <!-- Buttons -->
                <div class="Buttons">
                    <input type="submit" id="signup" name="signupsubmit">
                    <input type="reset" id="reset" name="signupreset">
                </div>

            </form>
        </div>
    </div>
</body>
</html>

它的PHP过程:

<?php
    include("CreateConnection.php");

    // Get values from form Signup.php file
    $FirstName = mysqli_real_escape_string($connect, $_POST['firstname']);
    $LastName = mysqli_real_escape_string($connect, $_POST['lastname']);
    $Username = mysqli_real_escape_string($connect, $_POST['username']);
    $CreatePassword = mysqli_real_escape_string($connect, $_POST['createpassword']);
    $ConfirmPassword = mysqli_real_escape_string($connect, $_POST['confirmpassword']);
    $Month = mysqli_real_escape_string($connect, $_POST['month']);
    $Day = mysqli_real_escape_string($connect, $_POST['day']);
    $Year = mysqli_real_escape_string($connect, $_POST['year']);

    // Removes back slashes in input
    $FirstName = stripcslashes($FirstName);
    $LastName = stripcslashes($LastName);
    $Username = stripcslashes($Username);
    $CreatePassword = stripcslashes($CreatePassword);
    $ConfirmPassword = stripcslashes($ConfirmPassword);
    $Month = stripcslashes($Month);
    $Day = stripcslashes($Day);
    $Year = stripcslashes($Year);

    if($CreatePassword != $ConfirmPassword)
    {
        echo "<script type='text/javascript'>alert('Password does not match please check.');</script> ";
        echo "<script>setTimeout(\"location.href = 'Signup.php'\", 0)</script>";
    }
    else
    {
        // Query Insert into tablereminders
        $query = mysqli_query($connect, "INSERT INTO `tablereminders`(`username`, `password`, `firstname`, `lastname`, `Month`, `Day`, `Year`)
        VALUES ('$Username','$ConfirmPassword','$FirstName','$LastName','$Month','$Day','$Year')");
    }

    // Error connection and query
    if(mysqli_query($connect, $query))
    {
        echo "New record created successfully";
        echo "<script>setTimeout(\"location.href = 'LoginReminder.php'\", 500)</script>";
    }
?>

这里的代码是我将在没有页面刷新的情况下显示警告框的地方。

if($CreatePassword != $ConfirmPassword)
{
    echo "<script type='text/javascript'>alert('Password does not match please check.');</script> ";
    echo "<script>setTimeout(\"location.href = 'Signup.php'\", 0)</script>";
}

我想在我的SignupProcess.php中添加一个Ajax请求。可以在外部调用表单函数吗?

0 个答案:

没有答案