0

このフォームを検証する方法。ユーザーがオプションを選択せず​​に送信すると、アラートを受け取る必要があります。

私のコード:

echo "<form method='post' id='submit' action='checkresult.php'>";
$sql="SELECT * FROM cquestions where showdate='$today' limit 2";
$result=mysql_query($sql);
while ($row = mysql_fetch_array($result)) {
echo "<p>" . $row['cqtext'] . "</p>";
$sql2="SELECT * FROM canswers where cqid=".$row['cqid'];
$result2=mysql_query($sql2);
while($row2=mysql_fetch_assoc($result2))
{
echo "<input type='radio' name='".$row['cqid']."' value='".$row2['cqans']."' />".$row2['aatext']; }
}
4

2 に答える 2

1

あなたが探しているのは $_POST 変数です。action='checkresult.php' を使用するフォームを送信すると、checkresult.php で $_POST コマンドを使用して変数値を取得できます。

test.php ページ(フォームの出力を使用) :

<form method='post' id='submit' action='checkresult.php'>
<input type='radio' name='the_name' value='the_value' />
<input type="submit">
</form>

checkresult.php:

echo $_POST["the_name"];
// Output = the_value
于 2013-05-16T15:08:26.190 に答える
0

使用した方法は正しいですが、構文が間違っています:

<?php
$marks+=$_POST['$cqid']; //Not Correct!
//1st You haven't defined $cqid. Its $qid.
//2nd You can't use a variable inside single quotes.
//PHP will consider it as normal String. But you can use it inside double quotes.
//But remember you can't use array ($row['cqid']) inside double quotes.
?>


これは正しい方法です:

<?php
while ($row = mysql_fetch_array($result)) {
    //$qid=$row['cqid'];
    //$marks+=$_POST[$qid]; //Correct!
    //But, Not needed You can directly use $row['cqid'] as an index.
    $marks+=$_POST[$row['cqid']];
}
?>


更新:[デバッグ用]

while ($row = mysql_fetch_array($result)) {
    $marks+=$_POST[$row['cqid']];
    echo $marks.'<br/>';
}
$insert="insert into result(email,marks)values('$email',$marks)";
$insert = mysql_query($insert);
if(!$result) {
    die('Unable to perform insert action. The following error occured: '.  mysql_error());
} else {
   echo 'The following Query: <b>'.$insert.'</b> executed successfully!';
}

$emailI can't see from where you are that value from どこからその値を取得しているかの値も確認してください。

この行は 2 回繰り返されますが、 test.phpで次の行にコメントしているため、この値は常に空であると$login_session = $_POST['email'];確信しています。

echo "<input type='hidden' name='email' value='email' />";

value 属性:value='email'明らかに間違っているようです!

これらすべてを確認してください。ここから持ち込むことができると思います... :) そうでない場合でも、喜んでお手伝いします...

更新:[クエリで制限を設定する場合]

SELECT * FROM `cquestions` LIMIT 0,3;
//Will fetch first three records from cquestions.
SELECT * FROM `cquestions` LIMIT 2,3;
//Will fetch 3rd, 4th and 5th records from cquestions.
于 2013-05-18T06:52:19.773 に答える