我正在尝试将插件设为滑块 我已经建立了一个管理面板,我可以更新数据库。 但是在我放入新数据并按下更新后我发现了一个问题 - 它更新了数据库,但它没有显示在页面上。 我需要刷新管理页面,然后才能看到更改。
如何自动刷新页面?
代码:
<form action="" method="post">
<?php
for($i=1; $i<=5; $i++)
{
$sliderows=getSliderData($i);
echo '<div id="single-slide-wrap">
<div id="slide-num">
<p id="stitle"><strong>#'.$i.'</strong></p>
<input name="slideradio" type="radio" value="'.$i.'" />
</div><!--slide-num-->
<div id="slide-pic">
<img alt="" src="'.$sliderows['img'].'" style="width: 120px; height: 80px;" />
</div><!--slide-pic-->
<div id="slide-text">
<strong>Img Url: </strong>'.$sliderows['img'].'<br />
<strong>Title: </strong>'.$sliderows['title'].'<br />
<strong>Url: </strong>'.$sliderows['url'].'<br />
</div><!--slide-text-->
</div><!--single-slide-wrap-->';
}
?>
<h3>update Slider</h3>
IMAGE URL: <input type="text" name="img" />
TEXT: <input type="text" name="text" />
URL: <input type="text" name="url" />
<input type='submit' name="submit" value='update' />
</form>
<?php
if(isset($_POST['submit']))
{
if(isset($_POST['slideradio']))
{
switch($_POST['slideradio']) {
case '1':
update_slider_db(1);
break;
case '2':
update_slider_db(2);
break;
case '3':
update_slider_db(3);
break;
case '4':
update_slider_db(4);
break;
case '5':
update_slider_db(5);
break;
}
}
}
echo '</div>';
}
答案 0 :(得分:1)
如果您想在javascript中重新加载页面(问题标记为javascript),您可以使用Location#reload()方法:
document.location.reload(true);
确保编写代码,以免在无限重定向循环中运行代码。
如果您想在PHP中重新加载页面,您可以发送重定向标题并成为一个好公民,您可能希望发送302状态标题以及请求。您可能还应该在抛出该标头之后终止您的脚本,以确保不执行以下任何代码(如果有的话)。
<?php
header("HTTP/1.1 302 Found");
header("Location: " + $_SERVER['REQUEST_URI']);
exit;
?>
答案 1 :(得分:0)
我刚刚找到答案 - 经过大量的挖掘:
我插入代码:
header("location: " . $_SERVER['REQUEST_URI']);
进入update_slider_db函数 - 更新数据库后
然后添加:
//allow redirection, even if my theme starts to send output to the browser
add_action('init', 'do_output_buffer');
function do_output_buffer() {
ob_start();
}
进入function.php