表单不会将数据保存到 mySQL 表中

Posted

技术标签:

【中文标题】表单不会将数据保存到 mySQL 表中【英文标题】:Form doesn't save data into mySQL tables 【发布时间】:2016-10-06 00:00:58 【问题描述】:

我正在使用 mysqljavascriptphp。我的网站上有一个表格,用于注册新用户。它连接到 mySQL 中的用户表,用于保存用户数据。

问题是除非我有 event.preventDefault();,否则我无法将 javascript 约束应用于字段表单,无论如何它只会连接到我的 php 页面并将数据保存到我的表中。 但是,如果我使用event.preventDefault();,它将应用约束,但是当我正确填写并单击注册时,它不会保存任何内容,只会在 mysql 表中创建一个空用户。

我该如何解决这个问题?

var constraints = 
  email: 
    email: true,
    presence: true,
  ,
  Telefone: 
    presence:true,
    format: 
      pattern: "[+0-9]+",
      message: "apenas pode conter números [0-9]"
    
  ,
  pwd: 
    presence: true,
    length: 
      minimum: 5
    
  ,
  cpwd: 
    presence: true,
    equality: 
      attribute: "pwd",
      message: "as passwords não coincidem"
    
  



  $("#validationForm").submit(function(event)

     event.preventDefault();

  $("#error").html("");

  console.log(event);

  var errors = validate($("#validationForm"), constraints);

  if (errors) 
    $("#submited").html("");
    for (var key in errors) 
      $("#error").append(errors[key] + "<br />");
      $("#" + key).css("border","1px red solid");
           
  else 
    // $("#submited").html("Form Submited");

    // redirect to php
     window.location.href="registar.php";
  
);

【问题讨论】:

【参考方案1】:

这是因为您手动重定向到您的 PHP 页面。

代替这一行:

window.location.href="registar.php";

你更应该

document.getElementById("form_to_submit").submit();

【讨论】:

欢迎来到 Stack Overflow。请注意,在这里说“谢谢”的首选方式是投票赞成好的问题和有用的答案(一旦你有足够的声誉这样做),并接受对你提出的任何问题最有帮助的答案(这也给出了你的声誉小幅提升)。请参阅About 页面和How do I ask questions here?

以上是关于表单不会将数据保存到 mySQL 表中的主要内容,如果未能解决你的问题,请参考以下文章

将数据字段附加到保存到表中的记录

将表单条目保存到变量并添加到表中

django ajax 不会将表单保存到数据库

将数据保存到 2 个表中 cakephp 3

Canonical:如何将 HTML 表单数据保存到 MySQL 数据库中

数据不使用php通过WordPress表单进入mysql数据库