我阅读了很多帖子,谈论表单提交后有关重定向的问题,但我没有找到任何似乎可以解决我的问题。
我用wordpress创建了一个测验网站。 每个single.php模板都包含一个问题。 我使用表单发布用户选择的数据(在数据库中)。 我使用表单的action属性重定向到下一个帖子(下一个问题)。到目前为止一切正常,数据存储在数据库中,用户被重定向到下一篇文章。 但是当我到达上一篇文章时,我已经设置了重定向到特定页面的条件。重定向工作得很好,但最后一个问题的数据没有在我的数据库中提交......
这是我的代码:
<?php $redirect_url = 0;
if ($currentID !== $nextID):
// NEXT POST
$redirect_url = get_permalink($nextID);
else:
// SPECIFIC PAGE (END QUIZ)
$redirect_url = get_permalink(24);
endif;
?>
<form method="post" action="<?php echo $redirect_url; ?>" id="stat_form" class="hidden">
<input type="radio" name="choice" id="c1" value="1">
<input type="radio" name="choice" id="c2" value="2">
<input type="number" name="replay" id="replay" value="<?php echo strip_tags($_POST['replay']); ?>">
<input type="number" name="question_id" id="question_id" value="<?php echo $currentID; ?>"/>
<input type="submit" name="submit_form" value="submit" />
</form>
<?php
// SAVE INFO IN DATABASE
// ---------------------
if ( isset( $_POST["submit_form"] ) ) {
$table = $wpdb->prefix."stats_questions";
$question_ID = strip_tags($_POST['question_id']);
$choice = strip_tags($_POST['choice']);
$replay = strip_tags($_POST['replay']);
$wpdb->insert(
$table, array(
'question_ID' => (int) $question_ID,
'choice' => (int) $choice,
'replay' => (int) $replay,
)
);
}
// ---------------------
?>