这是一个测验网站,但是当我提交答案和正确的时候,会弹出一个新的问题,但正确的答案和最后一个正确的答案是有效的(最后一个正确的答案是无限的,直到新的最后一个答案)我试了几个小时来修复它,看到没有解决方案…最后一个正确答案不适用于新问题
var right = 0
function start(){
var name = $('input#answer').val()
if ($.trim(name) != ''){
$.post('ajax/name.php', {name: name}, function(data){
$('#correctbox').text(data)
if (name == data){
rightfunc()
rand()
}else{
rand()
}
} )
}
}
function rand(){
$.post('ajax/test.php', {name: name}, function(data){
$('#questionsbox').text(data)
document.getElementById("answerswer").value = '';
} )
}
function rightfunc(){
right = right + 1
rightbox.innerHTML = "<b>Correct | "+right+"</b>"
}
<?php
if (isset($_POST['name']) === true && empty($_POST['name']) === false){
require '../db/connect.php';
mysql_set_charset('utf8');
$name = mysql_real_escape_string(strip_tags(addslashes(trim($_POST['name']))));
$query = ("SELECT *
FROM japanese
WHERE Romanji = '$name'
")or die(mysql_error());
$response = mysql_query($query);
if($response === false){
die(mysql_error());
}
while($row = mysql_fetch_array($response)){
if($name == $row['Romanji']){
echo ($row['Romanji']);
}else{
echo ('Name not found');
}
}
}
?>
当你给出正确答案时,不要清空input#answer
:
.post('ajax/name.php', {name: name}, function(data){
$('#correctbox').text(data);
//add next line so you can remove it from rand()
document.getElementById("answerswer").value = '';
if (name == data){
rightfunc()
rand()
}else{
rand()
}
} )
另一件事是为什么你总是发送相同的查询数据库?如果你的问题改变了,你的问题应该不会变吧?