如何在Wordpress网站中从自定义表单插入数据?

时间:2019-01-14 06:49:55

标签: sql wordpress

我已经在Wordpress网站中使用HTML创建了一个自定义表单,我需要将表单数据插入到我的自定义数据库(使用phpmyadmin的Wamp Server)中。我应该在哪里放置sqli查询对象,以便在单击“提交”按钮时将数据追加到数据库中的表中。我正在运行本地Wordpress网站。

<html>
<head>
<title>insert data in database using mysqli</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>

<div id="main">
<h1>Insert data into database using mysqli</h1>
<div id="login">
<h2>New Client</h2>
<hr/>
<form action="" method="post">
<label>Client Name  :</label>
<input type="text" name="Name" id="name" required="required" placeholder="Please Enter Name"/><br /><br />
<label>Aadhar  :</label>
<input type="text" name="Aadhar" id="Aadhar" required="required"  placeholder="Please enter Aadhar Number"/><br/><br />
<label>Mobile  :</label>
<input type="text" name="Mobile" id="Mobile" required="required"  placeholder="Please Enter Mobile Number"/><br/><br />
<label>Company  :</label>
<input type="text" name="Company" id="Company"  placeholder="Please Enter Company"/><br/><br />
<label>Description  :</label>
<input type="text" name="Description" id="Description"  placeholder="Please Enter Description"/><br/><br />

<input type="submit" value=" Submit " name="submit"/><br />
</form>
</div>
<!-- Right side div -->


</div>

</body>
</html> 

3 个答案:

答案 0 :(得分:0)

在单击提交按钮时,您可以编写ajax调用,该调用可以调用在您的themes functions.php文件中编写的函数。您可以在其中编写代码以将数据插入自定义表中。我建议您创建一个子主题,以便在更新wordpress时所做的更改不会恢复。 creating child theme的教程也针对ajax调用,您可以参考以下链接

https://wordpress.stackexchange.com/questions/310213/how-to-call-a-php-function-from-javascript-in-wordpress

https://wordpress.stackexchange.com/questions/242278/wordpress-ajax-url-for-function-in-functions-php

答案 1 :(得分:0)

在主题function.php文件上添加以下代码。

function themename_add_new_data() {

      $name         = $_POST['Name'];
      $adhar  = $_POST['Aadhar'];  
      $mobile  = $_POST['Mobile'];  
      $company  = $_POST['Company'];  
      $description  = $_POST['Description'];  

      global $wpdb; 
      $table_name = $wpdb->prefix . "testtable"; 
      $wpdb->insert($table_name, array(
                                'name' => $name, 
                                'adhar' => $adhar,
                                'mobile' => $mobile,
                                'company' => $company,
                                'description' => $description
                                ),array(
                                '%s',
                                '%s',
                                '%s',
                                '%s',
                                '%s',) 
        );
      }



if( isset($_POST['submit']) ) themename_add_new_data();

我已经测试过表格并对其起作用了

答案 2 :(得分:0)

仅是一个简短示例,说明如何以WordPress方式在数据库中插入数据:

global $wpdb;
$wpdb->insert('wp_demo', [
        'filed_name'     => $_POST['filed_name'],
        'filed_name'     => $_POST['filed_name'],
        'filed_name'     => $_POST['filed_name']
    ], ['%s','%s', '%s']
);

其中wp_demo是您的表名