Flash quiz by swish and php
เว็บเพจสำรอง (Backup Webpages) : http://www.thaiall.com/quizflash/indexo.html | http://lampang.thcity.com/quizflash/indexo.html
ปรับปรุง : 2548-02-16 (เปลี่ยนจาก cookie เป็น session)
    สารบัญ
  1. การออกแบบ และแนวคิด
  2. Source code ของ index.php (version 2)
  3. Source code ของ index.php (version 1)
  4. จุดบกพร่อง หรือแบบฝึกหัด

  5. การสร้างแฟ้มข้อสอบ .swf ด้วย swish
ข้อสอบแบบ online ในรูปแบบ flash
ผู้สนับสนุน ยินดีรับ ผู้สนับสนุน เว็บไซต์ด้านการศึกษา
กลุ่มเว็บไซต์นี้ เริ่มพัฒนา พ.ศ.2542
โดยบุคลากรทางการศึกษาด้านคอมพิวเตอร์
โทร. 081-9927223 (ผมเป็นคนลำปางหนา)
ปล. ขอไม่รับ work at home / อาหารเสริม
1. การออกแบบ และแนวคิด
  1. โปรแกรมนี้ใช้เพียงโปรแกรมเดียวคือ index.php
  2. โปรแกรม index.php ทำหน้าที่เพียงเรียกแฟ้ม .swf มาแสดง แล้วคอยนับคะแนนจากตัวแปร act เก็บไว้ใน cookie
  3. ข้อสอบทั้งหมดเก็บในแฟ้ม .swf โดยแยกข้อละแฟ้มออกจากกันอย่างชัดเจน
  4. ลูกเล่น หรือรูปแบบในข้อสอบแต่ละข้อ ขึ้นอยู่กับการออกแบบข้อสอบ ไม่เกี่ยวกับโปรแกรม .php
  5. การใส่ภาพ เสียง หรือระบบ multimedia ขึ้นอยู่กับการออกแบบข้อสอบแต่ละข้อ
  6. โปรแกรมชุดนี้แยกเป็น 2 ส่วนคือ index.php ใช้สำหรับบริหารคะแนนและการสุ่ม ส่วน .swf ทั้งหมดคือข้อสอบที่ส่งค่าถูกผิดให้กับ index.php อีกครั้งหนึ่ง

2. Source code ของ index.php (version 2)
ท่านเพียงแต่คัดลอกโปรแกรมตัวนี้ไปใส่ใน server ที่บริการ php และสร้างข้อสอบแต่ละข้อเป็นแต่ละแฟ้ม ที่มีนามสกุลเป็น .swf โปรแกรมตัวนี้จะอ่านรายชื่อแฟ้ม .swf ขึ้นมา แล้วสุ่มข้อที่ต้องการมาแสดงผล
    แฟ้มที่เปิดให้ท่านคัดลอกไปทดสอบ (Right click + save as)
  1. difference01.swf
  2. difference02.swf
  3. difference03.swf
  4. difference04.swf
    <?
    session_start();
    $dir_handle = opendir(".");
    $cnt=0;
    while ($list = readdir($dir_handle)) {
      if (strtolower(substr($list,-4)) == ".swf") {
    	$ar[$cnt] = $list;
        $cnt = $cnt + 1;
      }
    }
    srand(time());
    $r = rand() % $cnt;
    if (!isset($_GET['act'])) {
      $_SESSION['score'] = 0;
      $showquiz = 1;
    } else {
      if ($_GET['act'] == 0) {
        $showquiz = 0;
    	$oscore = $_SESSION['score'];
        $_SESSION['score'] = 0;
      } else {
        $_SESSION['score'] = $_SESSION['score'] + 1;
        $showquiz = 1;
      }
    }
    echo "<head>";
    if ($showquiz == 1) {
      echo "<meta http-equiv=refresh content='30; url=". $ar[$r] ."'>";
      echo "</head>";
    } else {
      echo "</head><body bgcolor=red link=yellow vlink=yellow><center>";
      echo "<font size=4 face=impact color=white>Your score : ". $oscore;
      echo "<br><br><a href=http://lampang.thcity.com/quizflash>Quiz again</a>";
      echo "<br><br><a href=http://www.thaiall.com/quizflash/indexo.html target=_blank>Source code</a>";
      echo "<br><br><font size=0>Script version 2.0 (Session version)";
      echo "</body></html>";
    }
    ?>
    

3. Source code ของ index.php (version 1)
รุ่น 1 เป็นรุ่นเก่า เพราะใช้ cookie หาก browser ไม่ยอมให้ใช้ cookie ก็จะใช้โปรแกรมนี้ไม่ได้ จึง upgrade ให้ใช้ session แทนในรุ่นที่ 2
    <?
    $dir_handle = opendir(".");
    $cnt=0;
    while ($list = readdir($dir_handle)) {
      if (strtolower(substr($list,-4)) == ".swf") {
        $ar[$cnt] = $list;
        $cnt = $cnt + 1;
      }
    }
    srand(time());
    $r = rand() % $cnt;
    if (!isset($_GET['act'])) {
      setcookie("score","0",time()+60);
      $showquiz = 1;
    } else {
      if ($_GET['act'] == 0) {
        $showquiz = 0;
        $oscore = $score;
        setcookie("score","0",time()+60);
      } else {
        setcookie("score",$score + 1,time()+60);
        $showquiz = 1;
      }
    }
    echo "<head>";
    echo "<meta http-equiv=Expires content='Mon, 01 Jan 2001 12:00:00 GMT'>";
    echo "<meta http-equiv=Cache-Control content=no-cache>";
    if ($showquiz == 1) {
      echo "<meta http-equiv=refresh content='30; url=". $ar[$r] ."'>";
      echo "</head>";
    } else {
      echo "</head><body bgcolor=red link=yellow vlink=yellow><center>";
      echo "<font size=6 face=impact color=white><br><br>Your score : ".$score;
      echo "<br><br><a href=http://lampang.thcity.com/quizflash>Quiz again</a>";
      echo "<br><br><a href=http://www.thaiall.com/quizflash/indexo.html>Source code</a>";
      echo "</body></html>";
    }
    ?>
    

4. จุดบกพร่อง หรือแบบฝึกหัด
  1. การบันทึกข้อมูลผู้ทำ
  2. การบันทึกคะแนน
  3. การสุ่มแบบไม่ซ้ำ
  4. การป้องกันการกดปุ่ม back
  5. ระบบสมาชิก
  6. เปิดให้ download ทั้งหมดได้โดยง่าย
  7. การฝาก logo ของสมาชิกระดับ webmaster
  8. ปรับให้ประสานกับระบบ xml

แนะนำเว็บใหม่ : ผลการจัดอันดับ
รักลำปาง : thcity.com : korattown.com : topsiam.com : มหาวิทยาลัยเนชั่น
ศูนย์สอบ : รวมบทความ : ไอทีในชีวิตประจำวัน : ดาวน์โหลด : facebook.com
ติดต่อ ทีมงาน ชาวลำปาง มีฝันเพื่อการศึกษา Tel.08-1992-7223