الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

طريقة عمل اختبار

بدأه ensana في 18 فبراير 2008 · 2 رد · 1,279 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

كنت اريد عمل نموذج كأختبر معلوماتك

كود انشاء الداتابيز

<?php
$link=mysql_connect("localhost","root");
if (!$link)
	 {
	die ("cannot link to the database".mysql_error());
	 }
echo "connected successfully";
$query="CREATE DATABASE IF NOT EXISTS islamic_new";
$result= mysql_query($query);
	if(!$result)
	{
	die ('cannot create the database'.mysql_error());
	}
	 else

	echo "database created successfully";

$result='';
$query='';

mysql_select_db("islamic_new",$link);
$query="CREATE TABLE questions(
  id int(1) NOT NULL auto_increment,
  question varchar(255) NOT NULL ,
  answer1 varchar(255) NOT NULL ,
  answer2 varchar(255) NOT NULL ,
  answer3 varchar(255) NOT NULL ,
  date varchar(255) NOT NULL ,  
  result int(3) NOT NULL ,
  PRIMARY KEY (id))";

mysql_select_db("islamic_new",$link);   
$result=mysql_query($query,$link);
	if(!$result)
	{
		echo"DB Error ,could not query the database\n";
		echo'MySQL Error: '.mysql_error();

	}
	else
 echo" the table questions is created sucessfully ";
 ?>

كود اضافة السؤال للادمن

<?php
	 require_once("connect.php");
?>

<html>
<form action="" method="post">

<p align="right"><strong><textarea name="quest" cols="40" rows="6" ></textarea> السؤال</strong></p>
<p align="right"><strong><input type="text" name="ans1" /> الإجابة الأولى</strong><input type="checkbox" name="check" value="1" /></p>
<p align="right"><strong><input type="text" name="ans2" /> الإجابة الثانية</strong><input type="checkbox" name="check" value="2" /></p>
<p align="right"><strong><input type="text" name="ans3" /> الإجابة الثالثة</strong><input type="checkbox" name="check" value="3" /> </p>


<div align="center">
<br>
<input type="submit" name="submit" value="إضافة">
</div>
</form>


</html>

<?php
if($_REQUEST["submit"]!=""){
$quest=$_REQUEST['quest'];
$ans1=$_REQUEST['ans1'];	 
$ans2=$_REQUEST['ans2'];	 
$ans3=$_REQUEST['ans3'];
$check=$_REQUEST['check'];	 



$query= "insert into questions (question,answer1,answer2,answer3,date,result) values ('$quest','$ans1','$ans2','$ans3',now(),'$check')";
$result = mysql_query($query);
if(!result ){

die('لم يتم إضافة السؤال'.mysql_error());

}else
echo"<script> alert('تم إضافة السؤال بنجاح');</script>"; 
}//end first if
?>

كود الاختبار

<?php
require_once("connect.php");


$query="select * from questions  ";
$resu1t=mysql_query($query);
if(mysql_num_rows($resu1t)>0)
{
	  ?>
	  <form action="" method="post">

	  <?
	   $i=1;
	   while($row=mysql_fetch_array($resu1t) )
	   {
		echo "ÇáÓÄÇá :";
		echo $row["question"];
		echo "<br>";
		?>
		<input type="radio" name="a<?=$i?>" value="1" />
		<?
		echo $row["answer1"];

		?>
		<br>
		<input type="radio" name="a<?=$i?>" value="2" />
		<?
		echo $row["answer2"];
		?>
		<br>
		<input type="radio" name="a<?=$i?>" value="3" />
		<input type="hidden" name="send" value="go">
		<?
		echo $row["answer3"];
		echo "<br>";

		$var=$_REQUEST["a".$i];
		if (!empty($_REQUEST["send"]))
		{
			if ( $var == $row["result"] )
			{
			echo "true";
			}	
			elseif($var != $row["result"])
		{

			echo "false";
		}
		}
		 $i++;
		}//end while
		?>

		<br>
		<input type="submit" name="submit" value="ÇäÊåÇÁ" /></form>
		<?
}//eng if	
?>

ولكن هنا بيعرض النتيجة في نفس الصفحة

وانا اريد انه عندما يضغط زر انتهاء يقوم بفتح صفحة اخرى ويعرض فيها السؤال وحالة الاجابة

فهل اخزن القيم من الفورمه في ارراي او ماذا افعل؟

#2

أسهل شئ أنك تضعيهم في session

أو الأحسن تضعيهم في قاعدة البيانات و يرتبطوا بالآي بي

تم تعديل هذه المشاركة بواسطة croconile في 21 فبراير 2008 في 21:06

rasool4k.gif

[وسط]mimetex.cgi?MSN:root@root-shell.net.

[/وسط]

#3

يمكنك عمل شئ جميل وهو استخراج أسئلة عشوائية من جدول الأسئلة الرئيسي ووضع هذه الاسئلة فى جدول أخر وليكن اسمه temp_tb واضف اليه عمود جديد واعطه الاسم user_ans وفيه قم بتخزين اجابات المتسابق وفي النهاية سيكون تعاملك مع هذا الجدول فقط من حيث معرفة الاجابات الصحيحة والخاطئة وبعد ذلك قم بعمل افراغ لمحتويات الجدول ليكون جاهز لمتسابق اخر

يمكنك الاطلاع على البرنامج التالي وهو برنامج للمسابقات وفقني الله لبرمجته هذه الايام واذا أردت مني اى مساعدة فأنا رهن اشارتك

رابط البرنامج

http://www.imowf.info/osraonline/quizes/

سيد عبدالباقي - مصر

مواضيع مشابهة