Я пытаюсь связать две php-страницы с вопросами. После отправки формы он проверяет базу данных на сохранение значения и затем перенаправляется на следующую страницу. Но я застрял здесь в функции header(). Это не перенаправление на следующую страницу. Где я делаю это неправильно?Переадресация после отправки на следующую страницу
$q1= "SELECT * FROM user_lang WHERE lang='$lang' AND q_id='1'";
$r1=mysqli_query($connection, $q1) or die(mysqli_error($connection));
$row1=mysqli_fetch_assoc($r1);
$q2="SELECT * FROM user_test WHERE mid='$username'";
$r2=mysqli_query($connection, $q2) or die(mysqli_error($connection));
$row2=mysqli_fetch_row($r2);
echo '<div class="wrapper" style="padding-top:5%;">';
echo '<div class="login-page">
<h2 align="center">'.$lang.' Module 1</h2>';
if(isset($_POST['answer']))
{
$answer=$_POST['answer'];
if(mysqli_num_rows($r2)>0)
{
$loadquery2="UPDATE user_test SET q1='$answer' WHERE mid='$username'";
$loadres2=mysqli_query($connection,$loadquery2) or die(mysqli_error($connection));
header('Location: "/vtest/q2.php"');
}
else
{
$loadquery2="INSERT INTO user_test(mid,q1) VALUES ('$username','$answer')";
$loadres2=mysqli_query($connection,$loadquery2) or die(mysqli_error($connection));
header('Location: "/vtest/q2.php"');
}
}
else
{
echo "<form method='POST'>";
echo $row1['quest'];
echo '<br><input type="radio" name="answer" value="a" checked>'.$row1['o1'].'<br>';
echo '<input type="radio" name="answer" value="b" >'.$row1['o2'].'<br>';
echo '<input type="radio" name="answer" value="c" >'.$row1['o3'].'<br>';
echo '<input type="submit" value="Submit">';
echo"</form>";
}
echo '</div></div></body></html>';
?>
BTW этот файл называется q1.php &, когда я отправить форму URL-адрес не меняется. Я думаю, это означает, что это не ошибка на странице q2.php, а сама q1.php.
Код заголовка не запускается после эха или любого тега html. вам нужно переместить ваше состояние наверху – Bhavik
Так что нет ли способа, кроме закрытия php? –
вы можете использовать метод переадресации javascript. 'Echo '';' – Bhavik