简体   繁体   中英

Submit contact form to wordpress database

I have the following code, which is supposed to create a form on the page, and when I submit it it should connect to the database and add the date and form info to wp_user_feedback. Currently the form doesn't even show up on the page not sure why?

NEW ERROR:

 Notice: Undefined index: responseFields in /Users/anderskitson/Sites/fiftyfity/wp-content/themes/fiftyfityNew/contact-form 

copy.php on line 33

<?php function make_user_feedback_form() {
    global $wpdb;
    global $current_user;


        $ufUserID = $current_user->ID;
        $ufResponses = serialize($_POST["responseFields"]);
        if ( 'POST' == $_SERVER['REQUEST_METHOD'] && !empty( $_POST['action'] ) && $_POST['action'] == 'updateFeedback' ) {
            $ufDataUpdate = $wpdb->insert( 'wp_user_feedback', array( 'date' => current_time('mysql'), 'responses' => $ufResponses ) );
        }?>
    <ol>
        <form method="post">
            <li>Question 01<br /><input type="text" id="responseFields[]" value="" /></li>
            <li>Question 02<br /><input type="text" id="responseFields[]" value="" /></li>
            <li><input name="submit" type="submit" id="submit" class="submit button" value="Send feedback" /></li>
            <?php wp_nonce_field( 'updateFeedback' ); ?>
            <input name="action" type="hidden" id="action" value="updateFeedback" />
        </form>
    </ol>
    <?php 
}

add_action('the_content','make_user_feedback_form');
?>

You have the form in the function. Are you calling the function anywhere?

If you didn't intend it to be part of the function, move the last } above the opening <ol>

So, it should look like this (if pulling it out of the function)

<?php function make_user_feedback_form() {
 global $wpdb;
global $current_user;


    $ufUserID = $current_user->ID;
    $ufResponses = serialize($_POST["responseFields"]);
    if ( 'POST' == $_SERVER['REQUEST_METHOD'] && !empty( $_POST['action'] ) && $_POST['action'] == 'updateFeedback' ) {
        $ufDataUpdate = $wpdb->insert( 'wp_user_feedback', array( 'date' => current_time('mysql'), 'responses' => $ufResponses ) );
        }
    }
    ?>
<ol>
    <form method="post">
        <li>Question 01<br /><input type="text" id="responseFields[]" value="" /></li>
        <li>Question 02<br /><input type="text" id="responseFields[]" value="" /></li>
        <li><input name="submit" type="submit" id="submit" class="submit button" value="Send feedback" /></li>
        <?php wp_nonce_field( 'updateFeedback' ); ?>
        <input name="action" type="hidden" id="action" value="updateFeedback" />
    </form>
</ol>
<?php 
    add_action('the_content','make_user_feedback_form');
?>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM