我正在尝试构建一个简单的在线测验。它不需要用户输入。它所做的只是从mysql数据库列表中随机选择一个名称,查找该名称的图像,然后显示图像。我遇到的问题是我想创建一个' next'按钮,它将刷新mysql查询并发布新的图像/问题。这是我目前所拥有的,虽然它确实刷新了页面,但它没有得到新的结果。我在这里错过了什么?缓存?饼干?任何想法都非常感激。
<?php
$quiz_select = "SELECT * FROM wp_quiz ORDER BY RAND() LIMIT 1; ";
$result_select = mysql_query($quiz_select) or die(mysql_error());
while($row = mysql_fetch_array($result_select)) {
$name = stripslashes($row['comname']);
$sciname = stripslashes($row['sciname']);
$code = stripslashes($row['code']);
$image = stripslashes($row['image']);
}
$image = preg_replace('/\s+/', '', $image);
echo "<div style='margin-left: auto;margin-right: auto; width: 500px'><img style='max-width:500px;' src='http://$image.jpg.to'></div>";
?>
<form>
<input type="button" onClick="history.go(0)" value="Next">
</form>
答案 0 :(得分:0)
通过从历史记录重新加载,您可能正在重新加载页面的浏览器缓存版本,这将始终是相同的。您只需要再次加载页面。
(即,将表单按钮更改为标准html按钮,而不是触发javascript历史记录)。
<form action="targetpage.php" method="post">
<input type="submit" value="Next">
</form>
PS,按兰德()订购不是一个很好的选择方式:http://www.webtrenches.com/post.cfm/avoid-rand-in-mysql
答案 1 :(得分:0)
也许你应该关闭连接并释放结果。
了mysql_free_result($这 - &RS)中; mysql_close($这 - &GT; conn);在
答案 2 :(得分:0)
我最终不得不在刷新时取消设置cookie。
<form action='link.com/page.php?next' method='post'>
<input type='submit' value='Next'>
</form>
</div>";
if(isset($_GET['next'])) {
setcookie ("PHPSESSID", "", time() - 3600);
}