无需切换页面,通过php将html表单数据发送到数据库

马克兔

嘿伙计们,我有一个表格:

<form action="signup.php" method="post" class="cd-form">
                <p class="fieldset">
                  <input class="full-width has-padding has-border" type="text" required maxlength="15" placeholder="First Name" name="primeiro_nome" />         
              </p>
                <p class="fieldset">
                  <input class="full-width has-padding has-border"  type="text" required  maxlength="15" placeholder="Last Name" name="segundo_nome">
                </p>
                <p class="fieldset">
                  <input class="full-width has-padding has-border"  type="email" required maxlength="50"  placeholder="E-mail" name="o_email">
                </p>
                <p class="fieldset">
                    <input class="full-width" type="submit" value="Sign Up!">
                </p>        
            </form>

您可能会注意到该操作正在调用 "signup.php" :

    <?php
 $con=new mysqli ("localhost","root","","chroniclemark");
    mysqli_set_charset($con, 'utf8mb4');
    if($con->connect_error)
    {
        echo $con->connect_errno;
        die("Database Connection Failed");
    }
    if(($_POST['primeiro_nome']) != ""){

    $sql = "INSERT INTO users (nome, sobrenome, email) 
             VALUES('{$con->real_escape_string($_POST['primeiro_nome'])}', '{$con->real_escape_string($_POST['segundo_nome'])}', '{$con->real_escape_string($_POST['o_email'])}')";
        $insert = $con->query($sql);

}
?>

这正在工作。表单中的数据被插入到我的数据库中。我遇到的问题是当提交表单时主页面关闭并且“signup.php”页面打开而不是它。

我该如何解决?我非常希望在同一页面上弹出“谢谢您注册”,而不是切换到另一页面。

杰森w

您可以使用 AJAX 将数据保存到数据库并在同一页面中向用户显示消息。单击按钮将请求发送到服务器,数据保存到数据库中,成功或失败时返回响应,然后向用户显示消息。

形式

首先为表单中的输入类型提供 id 并添加消息 div。

<form  method="post" class="cd-form">
            <p class="fieldset">
              <input class="full-width has-padding has-border" type="text" required maxlength="15" placeholder="First Name" id="primeiro_nome" />         
          </p>
            <p class="fieldset">
              <input class="full-width has-padding has-border"  type="text" required  maxlength="15" placeholder="Last Name" id="segundo_nome">
            </p>
            <p class="fieldset">
              <input class="full-width has-padding has-border"  type="email" required maxlength="50"  placeholder="E-mail" id="o_email">
            </p>
            <p class="fieldset">
                <input class="full-width" id='saverecords' type="button" value="Sign Up!">
            </p>        

将 AJAX 请求发送到服务器的 jQuery 代码

添加一个包含 jQuery 和内部点击事件的脚本标签,获取字段的值,然后发布到 php 页面:

<script src=”http://code.jquery.com/jquery-3.1.1.min.js”></script>

<script type=”text/javascript”> 

$(function(){ 

    $("#saverecords").on('click', function(){ 

        var pnome  = $("#primeiro_nome").val();

        var sname  = $("#segundo_nome").val();

        var email  = $("#o_email").val();

        $.ajax({ 

          method: "POST",
          url: "saverecords.php",

          data: {"pname": pname, "sname": sname, "email": email},

         }).done(function( data ) { 
            var result = $.parseJSON(data); 

            var str = '';

            if(result == 1) {

              str = 'Signup successfull.';

            }else{
              str = 'Data could not be saved. Please try again'; 
            }

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

      });

   }); 

</script> 

php服务器端代码:

请根据您的要求进行更改

创建一个 php 页面:saverecords.php 在 saverecords.php 中,您可以将数据插入到数据库中。

$conn = new mysqli($host, $username, $password, $dbname);
$pname  = $_POST['pname'];

$sname  = $_POST['sname'];

$email  = $_POST['email'];
$sql    = "insert into tablename (pname, sname, email) values (?, ?, ?)  ";

$stmt   = $conn->prepare($sql);

$stmt->bind_param('sss', $pname, $sname, $email);

  if($stmt->execute()){

     $result = 1;

  }

}

echo $result;

$conn->close();

如果您仍然遇到问题,请访问此链接,您可以找到有关如何在php mysqli 中使用jQuery Ajax的详细教程

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将html表单数据发送到mysql数据库

如何通过进行Ajax调用将html表单数据发送到node.js服务器?

将表单数据发送到电子邮件

将数据从HTML表单发送到php

将表单数据发送到Vanilla JS

使用带有ajax的post请求将html表单数据发送到php到https://foo.com

将表单数据以JSON格式发送到另一个页面

表单不将数据发送到数据库

将表单数据数组发送到PHP端点

如何通过Ajax将表单数据和POST变量发送到php脚本

Fancybox将表单数据发送到其他php页面

将表单数据发送到2个地方

如何将HTML表单数据发送到Java http服务器

将表单数据发送到嵌套在div中的页面

AJAX未将表单数据发送到PHP

Chrome扩展程序:单击按钮后如何将html表单数据发送到php页面,该页面重定向到该php页面

PHP表单将除图像外的所有内容发送到数据库

在提交时将表单数据发送到Javascript

使用Ajax将图像发送到数据库(php),而无需重新加载

将表单数据发送到DataTables Ajax调用

将表单数据发送到同一页面不起作用

将数据从表单发送到数据库

如何使用 PHP 将 HTML 输入字段发送到我的 MySQLi 数据库?

无法将数据从用户表单发送到 PHP 中的数据库

我如何获取表单数据使用 javascript 验证它并使用 php 将其发送到数据库

无法将表单数据发送到 PHP 页面

如何通过PHP将HTML表单中的数据发送到文件?

Php 将表单数据发送到 Wordpress 中的特定 Mysql 数据库中

如何将表单数据发送到链接?