到目前为止,我已经能够制作一个自定义表单,成功输入后将值保存到名为“form_entry”的 MySql 表中
下面是表单的代码:
<form method="post" class="container">
<div class="row">
<div class="col-md-6 mb-3">
<label>Name</label>
<input type="text" name="myname" class="form-control" placeholder="Name" value="John Doe" required>
</div>
<div class="col-md-3 mb-3">
<label>State</label>
<input type="text" name="statename" class="form-control" placeholder="State" required>
</div>
</div>
<button class="btn btn-primary" type="submit" name="BtnSubmit" value="submit">Submit form</button>
</form>
我在模板文件夹下的functions.php中插入了一些代码,如下所示:
if(isset($_POST['BtnSubmit'])) {
global $wpdb;
$data_array = array(
'myname' => $_POST['myname'],
'statename' => $_POST['statename'],
);
$table_name = 'form_entry';
$rowResult = $wpdb ->insert($table_name, $data_array, $format=NULL);
if($rowResult == 1) {
echo 'Success';
}
else {
echo ' Error in my pant';
}
die;
}
这工作正常。但我想在表单中添加文件上传选项并将上传的文件位置保存到MySql。请帮忙。
最佳答案
您必须在 html 表单中添加一个字段。并将参数添加到表单中。
<form method="post" class="container" enctype="multipart/form-data">
<div class="row">
<div class="col-md-6 mb-3">
<label>File</label>
<input type="file" name="myfile" class="form-control" required/>
</div>
</div>
提交后,您必须将上传的文件保存在特定位置并将该文件保存到您的数据库中。
if (isset($_POST['BtnSubmit'])) {
$target = 'uploads/' . basename($_FILES['myfile']['name']);
if(move_uploaded_file($_FILES['myfile']['tmp_name'], $target)) {
$fp = fopen($target, "r");
}
global $wpdb;
$data_array = array(
'myname' => $_POST['myname'],
'statename' => $_POST['statename'],
'filename' => $target
);
}
我想这对你有用!欢迎询问我。
关于php - 在Wordpress中,如何编写带有文件上传选项的自定义表单并将记录保存在MySql中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48050409/