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

استفسار عن كيفية عمل عداد timer في صفحة أسئلة

مغلق
بدأه أصيل في 17 أغسطس 2006 · 11 رد · 2,446 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

الاخوة الكرام اقوم حاليا ببرمجة برنامج فكرته عبارة عن أسئلة يتم عرضها بشكل عشوائي بمعنى يعرض مثلا 20 سؤال عشوائيا من 30 سؤال وتقريبا الكود ما عندي فيه مشكلة .

المشكلة أنني أريد عداد timer بحيث تكون مدة الاختبار 30 دقيقة حيث يظهر الوقت المتبقي و عند انتهاء الوقت تظهر رسالة للمستخدم بانتهاء الوقت والدرجة كذا .(10 درجات لكل سؤال )

طبعا لا اريد الاعتماد على ساعة الجهاز خوفا من تغيير المستخدم لساعة الجهاز .

اتمنى المساعدة .

#2

المعرف ان التايمر لا يزيد عن دقيقة

ولكن يمكنك تعريف متغير عام

dim t as integer

ثم قم بزادة هذا المتغير في التايمر يعني راح يزيده واحد بعد كل دقيقة

t=t+1

قم بوضع Label على الفورم

اكتب في التايمر

Lable1.caption=30-t

if Label1.coaption=0 then

الرسالة اللتي تريد + حساب الدرجات

end if

وبالنيسة للدرجات ضع ايضا متغير مثلا اذا كنت تستعمل فورم لكل سؤال يفضل ان يكون المتغيرات في مديول

واذا كانت في نفس الفورم يكون فوق كل شي

عندما يجاوب جواب صح يذيد هذا المتغير بواحد او بعشرة

اذا كان بواحد قبل ان تعرض الدرجة اضرب المتغير بعشرة

واذا كان تزيدة بعشرة اعرضة على طوووووووووووووول

يارب يكون هذا هو الحل الصحيح

;)

#3

أخي علي محمد شكرا على سرعة تجوابك وتشريفي بالرد .

انا اقصد بالتايمرهنا عداد يحسب 30 دقيقة من بداية الاختبار وليكن دخول صفحة اول سؤال .

بحيث يظهر هذا العداد في صفحة الاسئلة طبعا في كل صفحة سؤال وينتقل بين الاسئلة عن طريق السابق التالي.

بالنسبة للدرجة سوف اعمل لها حقل في القاعدة . لذا ساتركها الان .

لكن ما أدري فكرتك هل في php ام في vb .

في الرابط التالي فكرة قريبة من مشروعي :

http://salamos.awardspace.com/test.php?cat_id=22

وكل ما أريده هو اضافة عداد الزمن فقط

#4

للرفع

انا بانتظار المساعدة .

#5

المشكلة ان ال PHP لا تدعم شيء يسمى بالتايمر لان السكربت يعمل على السيرفر و ليس على جهاز العميل و يتم ارسال الصفحة الى العميل

افضل حل هو وضع توقيت البدء في $_SESSION و ارسال القيمة للصفحة بحيث في الصفحة تعد عن طريق ال javascript الان اذا حاول المستخدم عمل submit للأجوبة تقوم انت بالتأكد عن الوقت الذي بدء فيه و بعمليات حسابية سوف تعرف اذا ما تجازو الوقت المسموح ام لا

راكان الحنيطي

Be Open Source

opensource-550x4752.gif

#6

شكرا جزيلا لك هل يمكن مساعدتي بمثال فانا مبتدأ بلغة phpوبالنسبة لـ $_SESSION فانا لااعرف سوى تعرفها وإنهائها بمعنى لاأعرف كيف تحديد انتهاء $_SESSION بعد وقت محدد .

وانما استخم الكوكيز في ذلك .

#7

مثلا اذا كانت مده جاوب دقيقه

قم وضع كوكيز مدتها دقيقه

عند تأكد من جواب اذا كانت كوكيز لازالت موجوده النتيجه اذا لا انتها الوقت :-)

وستخدم جافا لعمل عداد في صفحه

تم تعديل هذه المشاركة بواسطة ahmad123 في 20 أغسطس 2006 في 20:50

#8

اخي ahmad123 شكرا جزيلا لك

بس قكرة عداد بالجافا سكريبت مو واضحة بالنسبة لي بمعنى الاسئلة ليست في صفحة واحدة بل في كل صفحة سؤال فكيف اربط كود الجافا سكربت بالكوكيز بمعنى العداد يظهر الوقت المتبقي من عمر الكوكيز .

#9

اذا وضعت كوكيز مدتها دقيقه ضع كوكيز لدقيقه الجافا يعمل عد تنازلي مدته دقيقه من اجل ان يراه الزائر فقط

تم تعديل هذه المشاركة بواسطة ahmad123 في 20 أغسطس 2006 في 22:32

#10
session_start();
$_SESSION["TestDuration"] = 30; //30 minutes

echo "<script>";
echo "function countdown() { //User test duration from server ".$_SESSION["TestDuration"]."}";
echo "</script>";

راكان الحنيطي

Be Open Source

opensource-550x4752.gif

#11

إخواني شكرا لكم على التواصل حاولت بالطريقة التالية :

صفحة تسجيل الدخول

ck555.php

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1256">
<title>hi</title>
</head>
<body>
<div align="center">
<form method="POST" action="ck666.php">
<table border="0" width="27%">
 <tr>
		<td width="40%"><font face="Tahoma" size=2>USER NAME:</font></td>
		<td width="60%"><font face="Tahoma" size=2><input type="text" name="username"></font></td>
	</tr>

		<td width="40%"><font face="Tahoma" size=1><input type="checkbox" name="ali" value="1" > Remember me</td>
		<td width="40%"><input type="submit" name="submit" value="submit"></font></td>
	</tr>

</table>
</form>
</div>
</body>
</html>

صفحة تسجيل الكوكيز

ck666.php

<?php
session_start();
if($_POST['ali']=='1'){
$_SESSION['username']= $_POST ['username'];
setcookie ("rname", time(), time()+60);

echo "<meta http-equiv='Refresh' content='0; URL=ck777.php' />";
echo"<br>";
}else{
	echo "check please !!!";
echo "<meta http-equiv='Refresh' content='1; URL=ck555.php' />";
}

?>

صفحة ck777.php

<?php


 $t=time();
 if( $t > $_COOKIE['rname']+ 180   ) //3600 seconds is 1 hour
{
	echo"<br>";
  echo"finish cookies";
}
else
{
  $t1 ==$t-$_COOKIE['rname'];
  echo " $t1";
  echo"<br>";
   echo"still cookies" ;
}



?>

هنا في آخر صفحة متغير t1 يحسب الفرق بين توقيتين ( توقيت تسجيل الكوكيز والوقت الحالي )ما ني قادر اطلع الفرق لكن بصيغة الوقت يعني 00:00

بالنسبة لكود الجافا حاولت اطبقه لكن ماني عارف كيف احوله بحيث يحسب زمن الكوكيز المتبقي .

لذا آمل اامساعدة العاجلة وشكرا .

عفوا في صفحة ck666.php

setcookie ("rname", time(), time()+3600);

#12

للرفع

هذا الموضوع مغلق.

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