无法使用wordpress将值保存到数据库中

时间:2017-04-18 12:56:25

标签: wordpress

我是初学者,希望从自定义模板页面将值插入数据库,但不会存储值。

这是我编辑的代码,并添加了完整的模板代码,我找不到为什么它不起作用,任何解决方案

<?php /* Template Name: Contact */ ?>
<?php
function contact_form() {

$name   = $_POST['name'];
$email  = $_POST['email'];
$subject  = $_POST['subject'];
$comment  = $_POST['comment'];

global $wpdb;
$table_name = $wpdb->prefix . "wp_contact";
$wpdb->insert($table_name, array(
    'name' => $name, 
    'email' => $email,
    'subject' => $subject,
    'comment' => $comment
),array(
    '%s',
    '%s',
    '%s',
    '%s')
);
}

if( isset($_POST['submit']) ) contact_form();
?>
<?php get_header(); ?>

<div class="container" id="contact">
<div class="row">
    <h2>Contact us</h2>
    <p>Lets get in touch and talk about your and our next project.</p><br>
    <form action="" method="post">
        <input type="text" placeholder="Name" required name="name">
        <input type="text" placeholder="Email" required name="email">
        <input type="text" placeholder="Subject" required name="subject">
        <input type="text" placeholder="Comment" required name="comment">
        <button name="submit" type="submit">
            <i class="fa fa-paper-plane"></i> SEND MESSAGE
        </button>
    </form>
    </div>

</div>


<?php get_footer(); ?>

2 个答案:

答案 0 :(得分:0)

更改表名,

$table_name = $wpdb->prefix . "wp_contact";

要,

$table_name = $wpdb->prefix . "contact";

答案 1 :(得分:0)

你不应该在这里使用核心PHP代码,因为WordPress已经很容易做出像联系表格这样的东西。

您应该使用https://wordpress.org/plugins/contact-form-7/插件。 如果没有在代码中抢劫这项小工作,那将非常容易。

查看此文档https://contactform7.com/docs/