我是wordpress的新手。我在其中一个页面中有一个表单:
<form action="" method="post">
Firstname: <input type="text" name="fname" /><br><br>
Lastname: <input type="text" name="lname" /><br><br>
<input type="submit" />
</form>
现在我需要将文本框的值存储到mysql数据库中。
我是否需要创建一个新的php文件?如果是的话那么我在哪里放置它?什么是我的PHP代码插入?
答案 0 :(得分:1)
<强> HTML 强>
<form action="" method="post">
Firstname: <input type="text" name="fname" /><br><br>
Lastname: <input type="text" name="lname" /><br><br>
<input type="submit" name="submit" />
</form>
PHP代码
if(isset($_POST['submit'])){
// use global variable for database opertation
global $wpdb;
// assign value that pass from form
$fname = $_POST['fname'];
$lname= $_POST['lname'];
// call insert method of wpdb class
$wpdb->insert('table_name', array(
'fname' => $fname,
'lname ' => $lname // ... and so on
));
}
有关wordpress中数据库操作的更多详细信息,请参阅链接:
答案 1 :(得分:1)
步骤1:如果您使用外部文件结构,则必须加载wp-configuration。
function navigate(m,f){
var c = {x: 0, y: 0},
d = { left: c => (c.x = (c.x + f[c.y].length - 1 % f[c.y].length) % f[c.y].length,c),
right: c => (c.x = (c.x + f[c.y].length + 1 % f[c.y].length) % f[c.y].length,c),
up: c => (c.y = (c.y + f.length - 1 % f.length) % f.length,c),
down: c => (c.y = (c.y + f.length + 1 % f.length) % f.length,c)
};
return m.reduce((p,n) => (d[n](c),p.concat(f[c.y][c.x])),[]);
}
var fighters = [["Ryu", "E.Honda", "Blanka", "Guile", "Balrog", "Vega"],
["Ken", "Chun Li", "Zangief", "Dhalsim", "Sagat", "M.Bison"]
],
moves = ['right', 'down', 'left', 'left', 'left', 'left', 'right'];
console.log(navigate(moves,fighters));
第2步:创建带或不带参数的函数insertuser()。
require_once('../../../wp-load.php');
步骤3:如果提交则检查表格是否已汇总,然后处理变量以进行数据库操作。
function insertuser(){
//Write code here
}
步骤4:如果表单汇总使用$ wpdp对象进行数据库操作。你可以在这里找到更多细节
if(isset($_POST['submit'])){
}
https://codex.wordpress.org/Class_Reference/wpdb
第5步:从$ _POST获取值并初始化为变量并运行插入函数。
global $wpdb; // Global database variable
完整源代码
$fname=$_POST['fname'];
$lname=$_POST['lname'];;
$table_name = $wpdb->prefix . "newsletter";
$wpdb->insert($table_name, array('lname' => $lname, 'lname' => $lname) );
答案 2 :(得分:0)
好的,你的问题解释了你有多新...... !!
不用担心,让我告诉你一些事情,你可以在同一页面使用PHP插入你的数据,或者也可以添加一个新的页面。 HTML表单操作属性决定数据的发送位置,如果为空,则将其提交到同一页面。
您只需首先尝试提交到同一页面,然后在MySQL中插入数据,您需要先连接MySQL并插入查询。
LIKE:
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('John', 'Doe', 'john@example.com')";
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
Above code taken from - $servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('John', 'Doe', 'john@example.com')";
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
以上代码取自 - http://www.w3schools.com/php/php_mysql_insert.asp
由于
答案 3 :(得分:0)
// in your template file add this code
<? php
if (isset($_REQUEST['register'])) {
do_action('form_data');
} ?>
< form method = "post" >
Firstname: < input type = "text"
name = "fname" / > < br > < br >
Lastname: < input type = "text"
name = "lname" / > < br > < br >
< input type = "submit"
class = "button"
name = "register"
value = "Submit" >
< /form>
// and add this in function.php
<? php
function form_data_func() {
$fname = $_REQUEST['fname'];
$lname = $_REQUEST['lname'];
$userdata = array(
'first_name' => $fname,
'last_name' => $lname,
);
$user_id = wp_insert_user($userdata);
}
add_action('form_data', 'form_data_func'); ?>
// developer.wordpress.org/reference/functions/wp_create_user请参阅此链接,了解我向您展示了如何执行插入功能的参数
答案 4 :(得分:0)
在Wordpress中,您需要使用“操作”将数据提交到后端。
提交直接表格:
使用挂钩
// 'action_name' is your form_name or any, but specify uniquely.
// For Authorized User.
add_action( 'admin_post_nopriv_action_name', 'call_back_function` );
// For Guest User.
add_action( 'admin_post_action_name', 'call_back_function` );
格式
您必须在表单内指定此内容。
<form> ......
<input type="hidden" name="action" value="action_name">
...... </form>
这告诉wordpress将您的表单与相应的回拨功能
对于Ajax表单提交:
使用挂钩
add_action('wp_ajax_contact_form', 'action_name');
add_action('wp_ajax_nopriv_contact_form', 'action_name');
列表项
您必须添加另一项名为“操作”
的项目<强>离。强>
$.ajax({
data: {action: 'action_name'},
type: 'post',
url: your_url,
success: function(data) {
// On Success
}
});
这些都是在wordpress中提交表单和管理数据的方法。
在回拨功能中,您可以在 $ _ GET , $ _ POST 或 $ _ REQUEST 中接收数据接收数据。
之后,插入数据库有多个选项,
如果您管理的数据较少,则可以选择add option
如果您需要,除此之外,您需要创建新表并使用wordpress实例跟踪核心数据库管理。然后研究这些WPDB和Table Creation。
对Wordpress感到高兴... 谢谢!