当前位置: 首页 > 知识库问答 >
问题:

Ajax不会在数据库中提交和存储信息吗?

凌景辉
2023-03-14

创建一个register.html表单,提示用户输入姓名、电子邮件和密码,然后单击提交,触发一个PHP脚本来检查电子邮件输入是否已经在使用,如果还没有使用,它会放置在mysql上的表users-form中的适当字段中的用户数据。

我的问题是AJAX没有提交表单。javascript指出“填写空字段”工作罚款。我不知道我做错了什么。

超文本标记语言:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>Reg Form</title>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/meyer-reset/2.0/reset.min.css">
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
  </head>
  <body>
    <div class="header">
      <div>Register form</div>
    </div>
    <form action="">
      <p> Enter name, email and password</p>
      <label>Name :</label>
      <input id="name" type="text">
      <label>Email :</label>
      <input id="email" type="text">
      <label>Password :</label>
      <input id="password" type="password">
      <input id="submit" type="button" value="Submit">
    </form>

    //Internal Javascript
    <script>
      $(document).ready(function() {
        $("#submit").click(function() {
          var name = $("#name").val();
          var email = $("#email").val();
          var password = $("#password").val();
          //success message when information is stored in database.
          var dataString = 'name1=' + name + '&email1=' + email + '&password1=' + password;
          if (name == '' || email == '' || password == '') {
            alert("Fill in empty fields");
          } else {
            //submits form
            $.ajax({
              type: "POST",
              url: "connect.php",
              data: dataString,
              cache: false,
              success: function(result) {
                alert(result);
              }
            });
          }
          return false;
        });
      });
    </script>

  </body>
</html>

ajaxconnect。php:

<?php
$connection = mysql_connect("localhost", "root", ""); // Establishing Connection with Server..
$db = mysql_select_db("mydatabase", $connection); // Selecting Database
//Fetching Values from URL
$name2=$_POST['name1'];
$email2=$_POST['email1'];
$password2=$_POST['password1'];

//Insert query
$query = mysql_query("insert into users-form(name, email, password) values ('$name2', '$email2', '$password2')");
echo "Submitted!";
mysql_close($connection); // Connection Closed
?>

有什么想法吗?谢谢

共有2个答案

司知
2023-03-14

您的javascript代码很好问题是mysql已被弃用,您可以使用mysqli,因此您的连接可能是这样的:

$con = mysqli_connect("localhost","username","password","dbname");


$name2=$_POST['name1'];
$email2=$_POST['email1'];
$password2=$_POST['password1'];

$query = mysqli_query($con, "insert into `users-form` (name, email, password) values ('$name2', '$email2', '$password2')");

if ($query) {
    echo "New record created successfully";
} else {
    echo "Error: " . $sql . "<br>" . mysqli_error($con);
}
吕征
2023-03-14
<!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Reg Form</title>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/meyer-reset/2.0/reset.min.css">
    <script src="js/theme.init.js"></script>
        <script src="https://code.jquery.com/jquery-2.1.1.min.js" type="text/javascript"></script>
    </head>
    <body>

    <div class="header">            
    <div>Register form</div>        
    </div>      

    <form action="" id="form">
    <p> Enter name, email and password</p>

    <label>Name :</label>
    <input id="name" name="name1" type="text">

    <label>Email :</label>
    <input id="email" name="email1" type="text" required>

    <label>Password :</label>
    <input id="password" name="password1" type="password" required>

    <input id="submit" type="button" value="Submit">
    </form>

    //Internal Javascript

                                    <script type="text/javascript">

                                    $(document).ready(function (e){
                                    $("#form").on('submit',(function(e){

                                        e.preventDefault();

                                            $.ajax({
                                            url: "connect.php ",
                                            type: "POST",
                                            data:  new FormData(this),
                                            contentType: false,
                                            cache: false,
                                            processData:false,
                                            success: function(result) {
                                            alert(result);
                                            }           

                                            });
                                            return false

                                    }));


                                    });
                        </script>
</body>
</html>
 类似资料:
  • 我正在使用Spring Batch和JPA处理一个批处理作业并执行更新。我正在使用默认的存储库实现。 并且我正在使用一个repository.save将修改后的对象保存在处理器中。而且,我没有在处理器或编写器中指定任何@Transactional注释。 下面是我的步骤,读取器和写入器配置:另外,我的config类是用EnableBatchProcessing注释的 在writer中,这就是我使用的

  • 我很难得到在商店工作的promise。 我通过一个动作调用突变,这似乎很有效。 该操作被导入到我的组件中: 然后叫: 这一切看起来都有效,但是当我检查Vue开发工具时,Vuex基本状态保持不变,并且我有一个活动突变(setPlace)。我可以点击“全部提交”来提交有效的突变。 在我的组件中,我在getter mapLocation上使用了一个监视程序,当我单击Commit All时会触发该监视程序

  • CORS策略阻止从来源'http://laravelvue2.test'访问位于'http://localhost:8000/items'的XMLHttpRequest:请求的资源上没有'Access-Control-Allow-Origin'标头。

  • 问题内容: 因此,在C ++ / C#中,您可以创建标志枚举来保存多个值,并且在数据库中存储单个有意义的整数当然是微不足道的。 在Java中,您有EnumSets,这似乎是在内存中传递枚举的一种很好的方法,但是如何将组合的EnumSet输出为整数进行存储?还有另一种方法可以解决这个问题吗? 问题答案:

  • 问题内容: 在我国,在线支付并不是一件老事,去年我第一次看到一个网络应用程序直接向本地银行帐户进行支付。 因此,我是一个新手编码的网络支付系统。 我的问题是,将信用卡信息存储到数据库中的最佳实践是什么? 我有很多想法:加密信用卡,数据库安全性限制等。 你做了什么? 问题答案: 不要做 只是涉及太多的风险,通常需要对您进行外部审核,以确保您遵守所有相关的当地法律和安全规定。 有许多第三方公司为您执行