1つのPHPファイル内の送信ページと送信後ページを分けて表示したい - PHPプロ!Q&A掲示板
777
- 1000P
- 1000P
1つのPHPファイル内の送信ページと送信後ページを分けて表示したい
質問日時 / 2007年11月21日 00:14 回答数 / 2件
Questioner: warashi4
Tweet
キーワード / キーワードが設定されていません
以下のPHPは①から送信された値を②で受け取って処理するものですが、値の送信後は②だけを表示したいのです。現状は①も②も表示されてしまいます。
見よう見まねでここまできましたが、この部分はまったくわかりません。
どなたかご教授いただけないでしょうか?
<?php
$kukakuno = "1";
$kaijono = "北";
?>
<html>
<head>
<title>***</title>
</head>
<body>
<?php
// ファイルインクルード
include("1n.php");
// データベース接続
$conn = mysql_connect($host, $user, $pw) or die("データベース接続エラー");
mysql_select_db($db, $conn) or die("接続エラー");
// データ抽出
$sql = "SELECT * FROM $table where kukaku = '$kukakuno' and kaijo = '$kaijono'";
$res = mysql_query($sql, $conn) or die("データ抽出エラー");
?>
①<!-- ここから問題画面 -->
<form action="<?php echo $_SERVER["PHP_SELF"]?>" method="post">
<table width="222" border="0" cellpadding="0" cellspacing="0">
<?php while ($row = mysql_fetch_array($res, MYSQL_ASSOC)) { ?>
<tr>
<td colspan="2"><?php echo $row["kukaku"]?>.<?php echo $row["maker"]?></td>
</tr>
<tr>
<td colspan="2"><hr></td>
</tr>
<tr>
<td colspan="2"><font color="#FF3300">■</font>問題</td>
</tr>
<tr>
<td colspan="2"><hr></td>
</tr>
<tr>
<td colspan="2"><?php echo $row["question"]?></td>
</tr>
<tr>
<td width="40">1<input type="radio" name="rad" value="1"></td>
<td width="181"><?php echo $row["question01"]?></td>
</tr>
<tr>
<td width="40">2<input type="radio" name="rad" value="2"></td>
<td width="181"><?php echo $row["question02"]?></td>
</tr>
<tr>
<td width="40">3<input type="radio" name="rad" value="3"></td>
<td width="181"><?php echo $row["question03"]?></td>
</tr>
</tr>
<tr>
<td colspan="2">
<input type="submit" name="submit" value=" 送 信 ">
</td>
</tr>
<?php } ?>
</table>
</form>
②<!-- ここから送信先 -->
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// データを受け取る
$rad = $_POST["rad"];
if ($rad == ""){
echo "<p><font color=#FF0000><b>答えを選択して下さい!</b></font>";
exit ();
}
// データ抽出
$sql = "SELECT * FROM $table where kukaku = '$kukakuno' and kaijo = '$kaijono'";
$res = mysql_query($sql, $conn) or die("データ抽出エラー");
if ($rad > 0){
?>
<?php while ($row = mysql_fetch_array($res, MYSQL_ASSOC)) { ?>
<?php echo $row["kukaku"]?>.<?php echo $row["maker"]?><br>
<hr>
あなたの答え=<b><?php echo $rad?></b><br>
<?php
if ($row["seikai"] == $rad){
echo "<font color=#FF0000><b>正解です!</b></font><br>";
}
else {
echo "正解は<font color=#FF0000><b>" . $row["seikai"] . "</b></font>です!<br>";
}
?>
<?php
}
}
}
?>
<?php
// 接続解除
mysql_close($conn);
?>
</body>
</html>
宜しくお願いします。
この質問への意見の募集は締め切られ、ポイントは既に配分されました。
意見を投稿することはできますが、ポイントを受け取ることはできません。





ページのトップへ


GETのままでは検索エンジンのロボットが拾ってくれなかったためにSEO対策として有効だと言われていますね。