dポイントプレゼントキャンペーン実施中!

PHP初心者です。

フォームから送信した値とMySQLの値を比較したいのですが、行き詰まっています。
以下の、”//(1)↓”のところが動作しません。どなたか助けていただけないでしょうか?
MYSQLの値は1レコードのみの抽出し、そのカラム”seikai”と、フォームから送信された”rad”と比較したいのです。

<?php
//区画
$kukaku = "1";

// ファイルインクルード
include("db.php");

// データベース接続
$conn = mysql_connect($host, $user, $pw) or die("データベース接続エラー");
mysql_select_db($db, $conn) or die("接続エラー");

// データ抽出
$sql = "SELECT * FROM $table where id = '$kukaku'";
$res = mysql_query($sql, $conn) or die("データ抽出エラー");

// データを受け取る
$rad = @$_POST["rad"];
?>
<table width="200" border="1">
<?php while ($row = mysql_fetch_array($res, MYSQL_ASSOC)) { ?>
<tr>
<td>DBの正解<?php echo $row["seikai"]?><br>
送信された答え=<?php echo $rad?>
</td>
</tr>
<?php } ?>
</table>
<?php
if ($rad == ""){
echo "<p><font color=#FF0000><b>答えを選択して下さい!</b>";
echo "<p><a href=\"form.php\">戻る</a>";
exit ();
}
//(1)↓
if ($seikai == $rad){
echo "<p><font color=#FF0000><b>正解です!</b></font>";
exit ();
}

// 接続解除
mysql_close($conn);
?>

A 回答 (3件)

まず第一に「//(1)↓”のところが動作しません」の意味が分かりません。


何がどのように動作しないのか具体的に教えてください。
「本来はそこでif文の中に入って欲しいのに、入らない」という意味ですか??

また、No.2の方も指摘されていますように、「if ($seikai == $rad){」は根本的に間違っています。なぜならば、このソースのどこにも「$seikai」という変数に値を代入した形跡がありません。したがって「$seikai」をif文の判定のために使用することは不可能です。(1)のif文よりも前に、$seikaiに必要な値を代入してください。

この回答への補足

ご指摘の通りです。説明不足で申し訳ありません。

<td>DBの正解<?php echo $row["seikai"]?><br>
のところで値が表示されていましたので、これでよし?と思っていました。もう少しがんばってみます。
ありがとうございました。

補足日時:2007/10/24 07:59
    • good
    • 0

>if ($seikai == $rad){




if ($row["seikai"] == $rad){

どうでしょうか?

この回答への補足

if ($row["seikai"] == $rad){
状況は同じでした。根本的にどこかおかしいのでしょうか?

補足日時:2007/10/24 07:22
    • good
    • 0

phpには詳しくないのですが。

。。

$seikaiに、$row[seikai]を入れずに、$seikaiを判定に使っているように見えますが?

この回答への補足

if ($row["rad"] == $seikai){

としてみましたが、"red"の値が3種類あるのですが、全て正解となってしまいます。

補足日時:2007/10/24 07:19
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す