@glizenfain

Почему не работает викторина на php + mysql?

Здравствуйте,хочу сделать викторину, вот такой код:

<!DOCTYPE html>
<html>
<head>
	<title>Тест</title>
</head>
<body>
	<?
$form = $_POST;

function countRows($result2){
$count = $result2->num_rows;
return $count;
}
function getQuestion ($result){
while(($row = $result->fetch_assoc()) != false) {
	
	//echo $row["Ответ"];
return $row["Вопрос"];
}

}
function getAnswer($result3){
while(($row = $result3->fetch_assoc()) != false) {
	
	//echo $row["Ответ"];
return $row["Ответ"];
}

}


$mysqli = new mysqli ("localhost","root","","Test");
$mysqli->query ("SET NAMES 'utf8'");


$result2 = $mysqli->query ("SELECT * FROM `History`");

countRows($result2);

$randomRow = random_int(1, countRows($result2));
$result = $mysqli->query ("SELECT Вопрос FROM `History` WHERE `History`.`id` = $randomRow");
$result3 = $mysqli->query ("SELECT Ответ FROM `History` WHERE `History`.`id` = $randomRow");
echo getQuestion($result)."<br>";
echo getAnswer($result3)."<br>";
//echo $form["answer"];

$mysqli->close ();



	if($form["answer"] == getAnswer($result3)){
	echo "Правильно"."<br>";
}else{
	echo "Не правльно"."<br>";
}
/*if(isset($_POST['answer']) and !empty($_POST['answer'])){
	if($form["answer"] == getAnswer($result)){
	echo "Правильно"."<br>";
}else{
	echo "Не правльно"."<br>";
}

}*/

?>
<form method="post">
		<input type="text" name="answer" placeholder="Введите ответ" >
		<input type="submit" name="but">
	</form>
</body>
</html>

Но в любом случае выводится надпись "Не правльно",даже когда копирую правильный ответ,выведенный через echo,с чем это может быть связано????
  • Вопрос задан
  • 842 просмотра
Пригласить эксперта
Ответы на вопрос 1
SagePtr
@SagePtr
Еда - это святое
Потому что вы делаете $mysqli->close (), а уже после этого getAnswer($result3) ? Естественно, соединение с сервером закрыли, как оно получит от БД данные?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы