送信ボタンを押すと、必要に応じてデータを処理するフォームがあります。私が欲しいのは、別のページ、または前のページに移動することです。私のページとは、最初はリンクのリストです。リンクをクリックすると、別のページが開き、回答する質問が表示されます。回答した後、選択ページに戻る必要があります。header()
これはほとんどの人が使用すると言ったものだったので試してみましたが、同じページにとどまり、 を使用してみました<meta http-equiv="refresh" content="0" url="the page to go to">
が、同じページが何度も更新されるようです。送信を押して質問を処理すると、選択ページに戻るようにするにはどうすればよいですか。
ありがとう
注: コードが必要な場合は、投稿するように教えてください。
編集:
header()
を使ってみたコードは次のとおりです。http_redirect()
<?php
// topic 1
try {
$db = new PDO("mysql:dbname=mawarid;host=localhost", "khaled", "");
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$q_qry = "select * from question where question_topic='1';";
$questions = $db->query($q_qry)->fetchAll();
} catch (PDOException $ex) {
// code here for handling error
print "error";
print "\n".$ex->getMessage()."\n";
}
?>
<!doctype html>
<html>
<html>
<meta charset="UTF-8">
<title>topic 1</title>
</html>
<body>
<h1>topic 1:</h1>
<form method="post" action="">
<ol>
<?php
foreach ($questions as $question) {
$qa_qry = "select * from answer where question='$question[0]';";
$ans = $db->query($qa_qry)->fetchAll();
?>
<li><?= $question[1] ?></li>
<?php
foreach ($ans as $a) {
$radio_name = "q".$question[0];
?>
<label><input type="radio" name="<?= $radio_name ?>" value="<?= $a[0] ?>"><?= $a[1] ?></label><br/>
<?php
}
}
?>
</ol>
<input type="submit" value="submit" name="submit">
</form>
</body>
</html>
<?php
session_start();
if(isset($_POST["submit"])) {
$user_ans = array();
for($i = 1; $i <= 10; $i++) {
$ans_access = "q".$i;
$user_ans[$i] = $_POST[$ans_access];
}
// $correct = $_SESSION["contestant_name"]["correct"];
// $wrong = $_SESSION["contestant_name"]["wrong"];
$correct = 0;
$wrong = 0;
foreach ($questions as $question) {
if ($question[2] == $user_ans[$question[0]])
$correct++;
else
$wrong++;
}
$_SESSION["contestant_name"]["topics_score_correct"][0] = $correct;
$_SESSION["contestant_name"]["topics_score_wrong"][0] = $wrong;
$_SESSION["contestant_name"]["topics_done"][0] = TRUE;
$_SESSION["contestant_name"]["correct"] += $correct;
$_SESSION["contestant_name"]["wrong"] += $wrong;
$_SESSION["contestant_name"]["last_topic_id"] = 1;
// header("Location:choosetopic.php");
http_redirect("choosetopic.php");
}
?>