在Wordpress中,如何使用文件上载选项编写自定义表单并将记录保存在MySql中?

时间:2018-01-01 14:20:39

标签: php mysql wordpress

到目前为止,我已经能够创建一个自定义表单,在成功输入后将值保存到名为“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。请帮忙。

1 个答案:

答案 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
                 );
}

我认为它对你有用!!随便问我。