簡體   English   中英

使用jQuery和Ajax提交表單

[英]Submit a Form with jQuery and Ajax

試圖讓我的注冊頁面使用Ajax和jQuery將數據發布到數據庫中,但難度很大。

我對ajax還是很陌生,甘蔗似乎使我了解如何進行此插入。 非常感謝您提供有關此操作的建議。 我不確定目前所獲得的距離是否還很遙遠。

當我單擊“提交”按鈕時,頁面會刷新,但數據庫沒有更改。

* html代碼

<html>
<head>
<title>Register</title>
<link rel="stylesheet" type="text/css" href="../css/stylesheet.css">
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript" src="../js/validation.js"></script>
<script type="text/javascript" src="../js/registerpost.js"></script>
</head>
<body>
<div id="container">
  <div id="mainContent")>
    <form class="basic-grey"  method="post">
      <h1>Registration Form<span>Please complete all fields.</span></h1>
      <p>
        <label><span>First Name:</span>
          <input name="firstname" id="firstname" type="text" size="40" maxlength="40" placeholder="First Name" required/>
        </label>
        <label><span>Surname:</span>
          <input name="lastname" id="lastname" type="text" size="40" maxlength="40" placeholder="Surname" required/>
        </label>
        <label><span>Username:</span>
          <input name="username" id="username" oninput="checkUsername();" type="text" size="40" maxlength="40" placeholder="Username" required/>
        </label>
        <label><span>Email:</span>
          <input name="email" id="email" oninput="checkEmail();" type="email" size="40" maxlength="40" placeholder="Email" required/>
        </label>
        <label><span>Password:</span>
          <input name="password1" id="password1" type="password" size="40" maxlength="40" placeholder="********" required/>
        </label>
        <label><span>Confirm Password:</span>
          <input name="password2" id="password2" oninput="checkPassword();" type="password" size="40" placeholder="********" required/>
        </label>
      </p>
      <div align="center"><span align = "center" id="user-result"></span><br><br><br>
      </div>
      <div align="center">
        <span>&nbsp;</span><input type="submit" class="button" id="submit_btn" value="Submit" />
      </div>
    </form>
    </form>
  </div>
</div>
</body>
</html>

PHP代碼

<?php

    include 'connection.php';

    $hash = password_hash($_POST['password2'], PASSWORD_DEFAULT, ['cost' => 11]);
    $sql = "INSERT INTO members(firstname, lastname, username, email, password )
                      VALUES(:firstname, :lastname, :username, :email, :password )";

    $stmt = $db->prepare($sql);
        $stmt->bindParam(':firstname', $_POST['firstname'], PDO::PARAM_STR);
        $stmt->bindParam(':lastname', $_POST['lastname'], PDO::PARAM_STR);
        $stmt->bindParam(':username', $_POST['username'], PDO::PARAM_STR);
        $stmt->bindParam(':email', $_POST['email'], PDO::PARAM_STR);
        $stmt->bindParam(':password', $hash, PDO::PARAM_STR);

        $results->$stmt->execute();

        if($results) {
            echo 'Welcome new member, and thanks you for registering with the website.';
            echo '<br><br>Click <a href="../index.html">here</a> to return to the login page';
        } else {
            echo 'Did not work.';
        }
    ?>

js代碼

$(document).ready(function() {

    $('#submit_btn').click(function(){

            var data = {};
            data.firstname = $('#firstname').val();
            data.lastname = $('#lastname').val();
            data.username = $('#username').val();
            data.email = $('#email').val();
            data.password2 = $('#password2').val();


            $.ajax({
                type: "POST",
                url: "../php/newuser.php",
                data: data,
                cache: false,
                success: function (response) {

                }
            });
                return false;
        });

    });

任何幫助將不勝感激。

謝謝

你可以做這樣的事情。 在此處查看詳細信息: https : //webdevideas.wordpress.com/2013/07/30/n-forms-one-javascript/

$(document).ready(function(){

$(“。ajaxform”)。bind(“ submit”,function(e){

e.preventDefault();

var ajaxurl = $(this).attr("action");

var data = $(this).serialize();

$.post(ajaxurl,data,function(res){

    $("#message").html(res.message);

},'json');

});

});

解決了這是我在PHP文件中犯的一個簡單錯誤。

這個

$results->$stmt->execute();

對此

$results = $stmt->execute();

謝謝大家

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM