到目前为止,我已经能够创建一个自定义表单,在成功输入后将值保存到名为“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。请帮忙。
答案 0 :(得分:0)
您必须在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
);
}
我认为它对你有用!!随便问我。