В настоящее время я создаю тест, используя PHP, HTML и mySQL для простой практики. Однако я продолжаю сталкиваться с проблемой, когда отображаемый вопрос отличается от фактического вопроса, связанного с ответом. Итак, если пользователь прав, ответ неверен.
Вот что у меня есть для страницы вопроса:
<?php
session_start();
session_unset();
$link = mysqli_connect("xxxx","xxxx","xxxx", "xxxx");
if (mysqli_connect_error()) {
echo "There was an error connecting to the database!";
}else{
$qNo = rand(1,2);
$query = "SELECT * FROM questions WHERE questionID = '".$qNo."'";
$result = mysqli_query($link, $query);
$row = mysqli_fetch_array($result);
$answer = $row[2];
$question = $row[1];
if (isset($_POST['submit'])){
$_SESSION['question'] = $row[1];
$_SESSION['answer'] = $answer;
$_SESSION['userAnswer'] = $_POST['userAnswer'];
header("Location: process.php");
}
}
?>
<html>
<head>
<title>Quiz v2</title>
</head>
<body>
<h1>Welcome to Quiz!</h1>
<div>
<p><a><?php print_r($question);?></a></p>
<form method = "post">
<label for = "answer">Answer: </label><input name = "userAnswer">
<button name = "submit">Answer</button>
</form>
</div>
</body>
</html>
Вот что у меня есть для страницы процесса:
<?php
session_start();
$link = mysqli_connect("xxx","xxxx","xxxx", "xxxx");
if (mysqli_connect_error()) {
echo "There was an error connecting to the database!";
}else{
echo $_SESSION['userAnswer'];
echo $_SESSION['answer'];
echo $_SESSION['question'];
if ($_SESSION['userAnswer']==$_SESSION['answer']){
}
}
?>
Здесь вы можете увидеть, что отображается следующий вопрос: введите описание изображения здесь
Но вот что на самом деле спрашивают и сравнивают:
Возможно, вы захотите удалить свои учетные данные из сообщения и изменить их на своем сервере.
Удалите учетные данные MYSQL и сбросьте их.
$answer = $row[2]; $question = $row[1]; , вы возвращаете вопрос и ответ из двух разных строк ...
Да, удалить свои учетные данные из общего доступа. У вас есть таблица ответов или просто таблица вопросов?
@ dmikester1 Законно ли мне проверять его?
Ха-ха, я понятия не имею
Если он удалит кредиты, останутся ли они навсегда доступными для просмотра в истории изменений?
да, будет виден навсегда, и незаконно использовать эти учетные данные без какого-либо согласия со стороны владельца
@AadilKhan Вы решили свою проблему? Была ли это строка [2] vs строка [1]?
У меня есть только таблица вопросов, вы предлагаете мне составить таблицу ответов? @ dmikester1 Также спасибо за предупреждение о сокрытии моих учетных данных. Я временами такой неуклюжий! Я такой новичок в этом.
сделайте отдельную таблицу для ответов. Это лучший выбор для управления вашим сценарием
Как сказали Эйнбер и Раддл, я надеюсь, что теперь вы изменили свои фактические учетные данные базы данных, потому что у всех в Интернете был доступ к ним в течение примерно дня.
Привет, ребята, я сделал еще одну таблицу с ответами, но я все еще сталкиваюсь с той же проблемой, какие-либо другие решения?






$answer = $row[2]; $question = $row[1];выглядит подозрительно. Почему вы получаете ответ из таблицы вопросов?