使用$_POST方法将变量过帐到WP数据库

时间:2018-05-07 作者:Marek Ojciec Dyrektor Malinows

我正在努力解决一个问题。我创建了一个表单,允许用户将数据提交到数据库中的特殊表中。我希望他们输入一个字段,并从我定义的文件中的其他变量获取其余信息。不幸的是,它并没有发布到数据库。有人能看看我的代码中是否有错误吗?Thx提前

<?php
if (!empty($_POST)) {
    global $wpdb;
    $table = wattp2_as_score;
    $data = array(
        \'score_as\' => $_POST[\'yourname\'],
        \'year\' => $_POST[$curYear],
        \'quarter\' => $_POST[$curQuarter],
    );
    $format = array(
        \'%s\',
        \'%s\',
        \'%s\',
    );
    $success=$wpdb->insert( $table, $data, $format );
    if($success){
        echo \'data has been save\' ; 
    }
} else {
    ?>
    <form method="post">
        <input type="text" name="yourname">
        <input type="submit">
    </form>

1 个回复
最合适的回答,由SO网友:Sabbir Hasan 整理而成

像这样修改代码。现在应该可以了。你做错的是$curQuarter &;$curYear 是php变量,不是part POST。您可以直接使用它们。

<?php

$curMonth = date("m", time()); 
$curQuarter = ceil($curMonth/3);
$curQuarter = $curQuarter-1;

$curYear = date(\'Y/m/d\', strtotime(\'-14 day\')); 
$curYear = date(\'Y\', strtotime($curYear)); 

if (!empty($_POST)) {
    global $wpdb;
    $table = wattp2_as_score;

    $data = array(
        \'score_as\' => $_POST[\'yourname\'],
        \'year\' => $curYear,
        \'quarter\' => $curQuarter,
    );
    $format = array(
        \'%s\',
        \'%s\',
        \'%s\',
    );
    $success=$wpdb->insert( $table, $data, $format );
    if($success){
        echo \'data has been save\' ; 
    }
} else {
    ?>
    <form method="post">
        <input type="text" name="yourname">
        <input type="submit">
    </form>

结束

相关推荐

how to read database fields

有人能解释一下如何读取wordpress数据库中的字母、数字和冒号吗?例如:a:1:{s:13:\"administrator\";b:1;} 在wp能力表中。谢谢