PDA

View Full Version : سوال: راه حل این خطا چیست؟؟



mmohammadi1391
جمعه 29 آذر 1392, 01:48 صبح
با سلام و احترام
من میخوام یک آزمون آنلاین طراحی کنم.
از دو صفحه ی php اسفاده کردم.
در صفحه ی اول(azmoon.php)، سؤالات از بانک فراخوانی شده و نمایش داده می شود.
بعد از اینکه کاربر دکمه ی «مشاهده نتیجه» را فشار داد، یک تابع به نام rezult() جواب کاربر را در یک کادر متنی جدید که خودش میسازد قرار می دهد و سپس نتیجه ی آزمون را در مقدار این کادر متن قرار می دهد.
بعد از این کار، به یک صفحه ی phpی دیگر(rezult.php) متصل شده که آن صفحه، باید مقدار این کادر متن را در ستون «امتیاز» جدول آزمون در بانک اطلاعاتی قرار دهد، اما متأسفانه از این قسمت خطا می گیرد.
مشکل چیست؟

کد صفحه azmoon.php

<html>
<body bgcolor=RGB(198,128,213)>
<?php
$emtiaz=0;
function rezult(){

$k= array(0,0,0,0);

if(document.form1.r1.checked==true)
$k[0]=r1.checked.id;
if(document.form1.r2.checked==true)
$k[1]=r2.checked.id;
if(document.form1.r3.checked==true)
$k[2]=r3.checked.id;
if(document.form1.r4.checked==true)
$k[3]=r4.checked.id;

for($i=0;$i<4;$i++)
if($t_array[$i]==$k[i])
$emtiaz++;

echo "<input type=\"text\" name=\"rezult\" value=",$emtiaz,">";


}

$i=0;
$t_array= array(0,0,0,0);
mysql_connect("localhost","root","");
mysql_select_db("barnamenevisi");

echo "<center><form action=\"rezult.php\" method=\"POST\" name=

\"form1\"";
echo "<br/><br/><table><tr><td>";

for($i=1;$i<=4;$i++){

$sh=rand(1,10);
$result = mysql_query("SELECT * FROM azmoon WHERE sh=$sh");
$row = mysql_fetch_assoc($result);
echo $row['soal'],"<br/>","<input type=radio name=r",$i,"id=\"1\">",

$row['p1'],"<br/>","<input type=radio name=r",$i,"id=\"2\">",$row

['p2'],"<br/>","<input type=radio name=r",$i,"id=\"3\">",$row

['p3'],"<br/>","<input type=radio name=r",$i,"id=\"4\">",$row

['p4'],"<br/><br/>";

$j=$i - 1;
$t_array[$j] = $row['sahih'];
}

echo "</td></tr></table>";

echo "<input type=submit value=\"مشاهده نتیجه\" name=submit onclick=\"rezult

()\">";
echo "<input type=reset value=\"پاک کردن صفحه\" name=reset>";

echo "</center></form>";

mysql_close();
?>
</body>
</html>



کد صفحه rezult.php

<html>
<body>
<?php

mysql_connect("localhost","root","");
mysql_select_db("barnamenevisi");

$result2 = mysql_query("INSERT INTO rezult (nomre) VALUES ($POST

['rezult'])";


mysql_close();
?>

</body>
</html>
با تشکر

mroveissi
جمعه 29 آذر 1392, 01:58 صبح
برادر با توجه به زمان اندکی که اکثر دوستان دارند، لطفا خطای داده شده را هم بنویسید. کم خودم به شخصه حال ندارم کد رو کامل بخونم.

SlowCode
جمعه 29 آذر 1392, 06:12 صبح
if(document.form1.r1.checked==true)
تو php ما document,form1,r1,checked داریم؟
شما کار با شی DOM تو js رو با php اشتباه گرفتی.
تو onClick دکمه submit هم تابع rezult رو صدا زدی که تابع php هست!
از اساس اشتباه هست!

تنها راهش هم اینه که آموزش های php , js رو از اول شروع کنین به خوندن!

تو خط 42 هم برای الحاق رشته ها به جای کاما از نقطه استفاده کن.

MMSHFE
جمعه 29 آذر 1392, 08:32 صبح
بهتره مطالعه عمیقتری درمورد AJAX داشته باشین.

mmohammadi1391
جمعه 29 آذر 1392, 12:23 عصر
تو php ما document,form1,r1,checked داریم؟
شما کار با شی DOM تو js رو با php اشتباه گرفتی.
تو onClick دکمه submit هم تابع rezult رو صدا زدی که تابع php هست!
از اساس اشتباه هست!

تنها راهش هم اینه که آموزش های php , js رو از اول شروع کنین به خوندن!

تو خط 42 هم برای الحاق رشته ها به جای کاما از نقطه استفاده کن.

من باید یک آزمون آنلاین طراحی کنم که سؤالات رو از بانک بخونه و در صفحه نمایش بده، بعد از اینکه کاربر پاسخ ها رو وارد کرد و دکمه ی «نتیجه آزمون» رو فشار داد، باید نتیجه ی آزمون محاسبه و در بانک ثبت بشه و به کاربر هم نمایش داده بشه.
هم چنین باید یک زمان سنج وجود داشته باشه، که پس از یک مدت زمان خاصی، صفحه ی آزمون بسته بشه و به صفحه ی دیدن نتیجه ی آزمون بره.

متأسفانه توی انجام بعضی از قسمت ها مشکل دارم.
من تا اینجاش که سؤالات رو از بانک میخونه و در یک صفحه ی php نشون میده(همراه با دکمه های radio و دکمه های «نتیجه آزمون» و ...). اما از این قسمتش که باید نتیجه ی آزمون رو محاسبه کنه و در بانک ثبت کنه و به کاربر نمایش بده مشکل دارم.
این قسمتشو باید چکار کنم؟
چون پاسخ سؤالات چهار گزینه ای هست، مجبور شدم برای 4 گزینه 4 دکمه ی radio button با یک نام قرار بدم، به همین دلیل نمیدونم چه شکلی باید به پاسخ کاربر دسترسی پیدا کنم، که بررسی کنم صحیح وارد کرده یا نه؟

Javidhb
جمعه 29 آذر 1392, 13:30 عصر
یه مثال ساده:


<?php
// اگه فرم سابمیت شده باشه، جواب کاربر رو نشون میده
if(isset($_POST['submit']))
{
// گرفتن جواب کاربر
echo 'your answer : ' . $_POST['soal1'];
echo '<br>';
}
?>

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>azmoon</title>
</head>
<body>
<form action='' method='POST'>
<input type="radio" name='soal1' value='gozine1'> gozine1
<input type="radio" name='soal1' value='gozine2'> gozine2
<input type="radio" name='soal1' value='gozine3'> gozine3
<input type="radio" name='soal1' value='gozine4'> gozine4
<input type="submit" name="submit" value='اتمام'>
</form>
</body>
</html>

mmohammadi1391
جمعه 29 آذر 1392, 14:41 عصر
یه مثال ساده:


<?php
// اگه فرم سابمیت شده باشه، جواب کاربر رو نشون میده
if(isset($_POST['submit']))
{
// گرفتن جواب کاربر
echo 'your answer : ' . $_POST['soal1'];
echo '<br>';
}
?>

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>azmoon</title>
</head>
<body>
<form action='' method='POST'>
<input type="radio" name='soal1' value='gozine1'> gozine1
<input type="radio" name='soal1' value='gozine2'> gozine2
<input type="radio" name='soal1' value='gozine3'> gozine3
<input type="radio" name='soal1' value='gozine4'> gozine4
<input type="submit" name="submit" value='اتمام'>
</form>
</body>
</html>



از راهنمایی خوبی که دادید بسیار سپاسگذارم. به لطف خدا و با راهنمایی همه ی شما دوستان عزیز درست شد.