发布和获取不在同一页面中工作

时间:2014-02-21 22:55:31

标签: php wordpress

当我点击下一个时,任何身体告诉我为什么不工作。空白。获取或发布两个机器人工作。但是当刷新然后工作。看看打印表格然后告诉我。我认为sql没有获取。

Wordpress代码

function SamDeveloper_page($content)
{
    global $wpdb;
    $table_name = $wpdb->prefix . "wp_SamDeveloper_question";
    $url = get_option('question_page').'&q=2';
    if ( is_user_logged_in() ){
        $_POST['q'] = (isset($_POST['q'])) ? $_POST['q']:'1';
        if(isset($_POST['add_ans']) && !empty($_POST['add_ans'])){

            $table_name = $wpdb->prefix . "wp_SamDeveloper_answer";
            $no = (isset($_POST['q'])) ? $_POST['q']:'1';
            $url = get_option('question_page').'&q='.($no+1);
        }

        $user_ID = get_current_user_id();
        $result = $wpdb->get_results('SELECT * FROM '.$table_name.' LIMIT '.($_POST['q']-1).',1', ARRAY_A);
        foreach($result as $value){
        $que = '<h4>Question No. '.$_POST['q'].'</h4>';
        $que .= '<form action="'.$url.'" method="post">';
        $que .= '<input type="hidden" name="q" value="'.($_POST['q'] + 1).'"/>';
        $que .= '<table>';
        $que .= '<tr>';
        $que .= '<th>Question</th>';
        $que .= '<th>Most</th>';
        $que .= '<th>Least</th>';
        $que .= '</tr>';
        $que .= '<tr>';
        $que .= '<td>'.$value['option_1'].'</td>';
        $que .= '<td><input type="checkbox" name="Option_1" value="a"></td>';
        $que .= '<td><input type="checkbox" name="Option_1" value="b"></td>';
        $que .= '</tr>';
        $que .= '<tr>';
        $que .= '<td>'.$value['option_1'].'</td>';
        $que .= '<td><input type="checkbox" name="Option_2" value="a"></td>';
        $que .= '<td><input type="checkbox" name="Option_2" value="b"></td>';
        $que .= '</tr>';
        $que .= '<tr>';
        $que .= '<td>'.$value['option_1'].'</td>';
        $que .= '<td><input type="checkbox" name="Option_3" value="a"></td>';
        $que .= '<td><input type="checkbox" name="Option_3" value="b"></td>';
        $que .= '</tr>';
        $que .= '<tr>';
        $que .= '<td>'.$value['option_1'].'</td>';
        $que .= '<td><input type="checkbox" name="Option_4" value="a"></td>';
        $que .= '<td><input type="checkbox" name="Option_4" value="b"></td>';
        $que .= '</tr>';
        $que .= '</table>';
        $que .= '<input type="hidden" name="user_id" value="'.$user_ID.'"> ';
        $que .= '<input type="hidden" name="add_ans" value="'.$value['id'].'">';
        $que .= '<input type="submit" name="add_ans" value="Next">';
        $que .= '</form>';
        print($que);
        }

    }
}

我也尝试打印回声。

由于

1 个答案:

答案 0 :(得分:1)

您可以使用隐藏的输入标记(在<form>标记之间):

<input type="hidden" name="xyz" value="your value goes here"/>

提交后,可以使用$_POST['xyz']

访问它们

您的代码应该是

function SamDeveloper_page($content)
{
    global $wpdb;
    $table_name = $wpdb->prefix . "wp_SamDeveloper_question";
    $url = get_option('question_page').'&q=2';
    if ( is_user_logged_in() ){
        $_POST['q'] = (isset($_POST['q'])) ? $_POST['q']:'1';
        if(isset($_POST['add_ans']) && !empty($_POST['add_ans'])){

            $table_name = $wpdb->prefix . "wp_SamDeveloper_answer";
            $no = (isset($_POST['q'])) ? $_POST['q']:'1';
            $url = get_option('question_page');
        }

        $user_ID = get_current_user_id();
        $result = $wpdb->get_results('SELECT * FROM '.$table_name.' LIMIT '.($_POST['q']-1).',1', ARRAY_A);
        foreach($result as $value){
        $que = '<h4>Question No. '.$_POST['q'].'</h4>';
        $que .= '<form action="'.$url.'" method="post">';
        $que .= '<input type="hidden" name="q" value="'.($_POST['q'] + 1).'"/>';
        $que .= '<table>';
        $que .= '<tr>';
        $que .= '<th>Question</th>';
        $que .= '<th>Most</th>';
        $que .= '<th>Least</th>';
        $que .= '</tr>';
        $que .= '<tr>';
        $que .= '<td>'.$value['option_1'].'</td>';
        $que .= '<td><input type="checkbox" name="Option_1" value="a"></td>';
        $que .= '<td><input type="checkbox" name="Option_1" value="b"></td>';
        $que .= '</tr>';
        $que .= '<tr>';
        $que .= '<td>'.$value['option_1'].'</td>';
        $que .= '<td><input type="checkbox" name="Option_2" value="a"></td>';
        $que .= '<td><input type="checkbox" name="Option_2" value="b"></td>';
        $que .= '</tr>';
        $que .= '<tr>';
        $que .= '<td>'.$value['option_1'].'</td>';
        $que .= '<td><input type="checkbox" name="Option_3" value="a"></td>';
        $que .= '<td><input type="checkbox" name="Option_3" value="b"></td>';
        $que .= '</tr>';
        $que .= '<tr>';
        $que .= '<td>'.$value['option_1'].'</td>';
        $que .= '<td><input type="checkbox" name="Option_4" value="a"></td>';
        $que .= '<td><input type="checkbox" name="Option_4" value="b"></td>';
        $que .= '</tr>';
        $que .= '</table>';
        $que .= '<input type="hidden" name="user_id" value="'.$user_ID.'"> ';
        $que .= '<input type="hidden" name="add_ans" value="'.$value['id'].'">';
        $que .= '<input type="hidden" name="q" value="'.($no+1).'">';
        $que .= '<input type="submit" name="add_ans" value="Next">';
        $que .= '</form>';
        print($que);
        }

    }
}