我知道插入数据的正确方法是使用AJAX,但我不介意页面是否刷新。页面刷新后,有人可以帮我清除表单数据吗?一切正常,数据被提交到表格,页面刷新。但是,如果我再次点击刷新按钮,它会告诉我数据将被提交......我不知道该怎么做。
<?php
$current_user = wp_get_current_user();
if ( $current_user->ID == 0 ) {
} else {
if( isset( $_POST['drop_artists'] ) ) {
$answer = $_POST['drop_artists'];
}else{
$answer = $_POST['artist_name'];
}
$date = current_time( 'mysql' );
$table = "t4t5_answers";
$sql = $wpdb->prepare( "INSERT INTO $table (user_id, post_id, info, answer, submission_date ) VALUES ( %d, %d, %s, %s, %d )", $current_user->ID, $post->ID, 'artist', $answer, $date );
$wpdb->query($sql);
header('Location: ' . get_bloginfo('url'));
}//if(isset($_POST['form_sub']))
?>
<form method="post" action="" id="artists-form">
<ul>
<li id="categories">
<?php
$args = array(
'show_option_all' => 'Artists',
'hierarchical' => 1,
'child_of' => 406,
'order_by' => 'name',
'name' => 'answer',
'hide_empty' => 0
);
wp_dropdown_categories($args); ?>
</li>
</ul>
<input type="text" name="artist_name" value="" size="45" id="input-title"/>
<input id="submitButton" class="subput" type="submit" name="submit" value="Add"/>
</form>
答案 0 :(得分:0)
发布页面后,使用重定向将te用户发送到成功页面。这将使实际发布的页面不会出现在其历史记录中。
if (!empty($_POST)) {
// do stuff
header("Location: $_SERVER[PHP_SELF]");
}
请注意,重定向的网址应该是完整的网址,而不是相对网址。但实际上,我还没有看到任何浏览器的相对URL存在问题。
答案 1 :(得分:0)
要立即重定向到您当前的网址,请尝试使用
echo '<META HTTP-EQUIV=Refresh CONTENT="0; URL='.$current_URL.'">'
答案 2 :(得分:0)
将你的php代码写入if(isset($ _ POST ['submit'])并在insert语句下面添加以下脚本。
echo " <script type='text/javascript'>
window.location=document.location.href;
</script>";
您的代码如下所示:
global $wpdb,$post;
if(isset($_POST['submit']))
{
$current_user = wp_get_current_user();
if ( $current_user->ID == 0 )
{
}
else
{
if( isset( $_POST['drop_artists'] ) )
{
$answer = $_POST['drop_artists'];
}
else
{
$answer = $_POST['artist_name'];
}
$date = current_time( 'mysql' );
$table = "t4t5_answers";
$sql = $wpdb->prepare( "INSERT INTO $table (user_id, post_id, info, answer, submission_date ) VALUES ( %d, %d, %s, %s, %d )", $current_user->ID, $post->ID, 'artist', $answer, $date );
$wpdb->query($sql);
}
echo "<script type='text/javascript'>
window.location=document.location.href;
</script>";
}
?>
<form method="post" action="" id="artists-form">
<ul>
<li id="categories">
<?php
$args = array(
'show_option_all' => 'Artists',
'hierarchical' => 1,
'child_of' => 406,
'order_by' => 'name',
'name' => 'answer',
'hide_empty' => 0
);
wp_dropdown_categories($args); ?>
</li>
</ul>
<input type="text" name="artist_name" value="" size="45" id="input-title"/>
<input id="submitButton" class="subput" type="submit" name="submit" value="Add"/>
</form>
这将在表单提交后刷新页面,并且不会重新提交表单值。