Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > PHP > PHP Forum > ช่วยดูโค๊ดนี้ให้หน่อยค่ะ ผิดตรงไหน ไม่รับค่าชื่อค่ะ แต่รับค่าคะแนน



 

ช่วยดูโค๊ดนี้ให้หน่อยค่ะ ผิดตรงไหน ไม่รับค่าชื่อค่ะ แต่รับค่าคะแนน

 



Topic : 110702



โพสกระทู้ ( 12 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook



เป็นโค้ดที่ทำข้อสอบค่ะ

Code (PHP)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body><?php
$subjectName = "แบบทดสอบบทที่1";
//เฉลยข้อที่ถูก -- ไม่จำกัดจำนวนข้อ
$correctAns=array("ข","ก","ค","ง","ค","ง");  
//เกณฑ์การผ่านขั้นต่ำ
$cutpoint = 60;
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=tis-620">
<title>ตัวอย่างข้อสอบ</title>
<body>
<form method="POST" action="checkit.php">   
<P><H1>แบบทดสอบตัวอย่าง</H1><P>
1) อำเภอสวนผึ้ง อยู่ในจังหวัดอะไร<br>
<input type="radio" value="ก" name="question1">ก) เพชรบุรี<br>
<input type="radio" value="ข" name="question1">ข) ราชบุรี<br>
<input type="radio" value="ค" name="question1">ค) ลพบุรี<br>
<input type="radio" value="ง" name="question1">ง) สุพรรณบุรี<br>
<br>
2) สะพานข้ามแม่น้ำแคว อยู่ในจังหวัดอะไร<br>
<input type="radio" value="ก" name="question2">ก)กาญจนบุรี<br>
<input type="radio" value="ข" name="question2">ข) ประจวบคีรีขันธ์<br>
<input type="radio" value="ค" name="question2">ค) นครปฐม<br>
<input type="radio" value="ง" name="question2">ง) ราชบุรี<br>
<br>
3) พระพุทธชินราช อยู่จังหวัดอะไร<br>
<input type="radio" value="ก" name="question3">ก) เชียงใหม่<br>
<input type="radio" value="ข" name="question3">ข) สุโขทัย<br>
<input type="radio" value="ค" name="question3">ค) พิษณุโลก<br>
<input type="radio" value="ง" name="question3">ง) พิจิตร<br>
<br>
4) อำเภอกาบเชิง อยู่ในจังหวัดอะไร<br>
<input type="radio" value="ก" name="question4">ก) อุบลราชธานี<br>
<input type="radio" value="ข" name="question4">ข) หนองคาย<br>
<input type="radio" value="ค" name="question4">ค) บุรีรัมย์<br>
<input type="radio" value="ง" name="question4">ง) สุรินทร์<br>
<br>
5) หาดบางแสน อยู่ในจังหวัดอะไร<br>
<input type="radio" value="ก" name="question5">ก) ระยอง<br>
<input type="radio" value="ข" name="question5">ข) จันทบุรี<br>
<input type="radio" value="ค" name="question5">ค) ชลบุรี<br>
<input type="radio" value="ง" name="question5">ง) ตราด<br>
<br>
6) พระธาตไชยา อยู่ในจังหวัดอะไร<br>
<input type="radio" value="ก" name="question6">ก) นครปฐม<br>
<input type="radio" value="ข" name="question6">ข) นครพนม<br>
<input type="radio" value="ค" name="question6">ค) นครราชสีมา<br>
<input type="radio" value="ง" name="question6">ง) นครศรีธรรมราช<br>
<br>
<br>ชื่อของผู้เข้าสอบ
<input type="text" name="usrName" size="50">
<?php
foreach($correctAns as $value)
{
  echo '<input type="hidden" name="result[]" value="'. $value. '">';
}
echo "<input type = hidden name = \"subjName\" value='$subjectName'>";
echo "<input type = hidden name = \"cpoint\" value=$cutpoint>";
?>

<BR><BR>
   <input type="submit" value="ส่งข้อมูล" name="ok">
   <INPUT TYPE="RESET" VALUE="ยกเลิก">
   </FORM>
</body>
</html>
</body>
</html>



เป็นโค๊ดรับข้อมูลข้อสอบค่ะ

Code (PHP)
<html>
<head>
<title>ตรวจข้อสอบ</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<?php
$thisUserName = trim($_POST["usrName"]);
$subjName = $_POST["subjName"];
$cutpoint = $_POST["cpoint"];
$correctAns = $_POST["result"];
$numOfQstns = sizeof($correctAns);
$score = 0;

for ($i=1; $i<=$numOfQstns; $i++)
   {
      $stAns[$i-1] = trim($_POST["question" . $i]);   
   }
for ($i=0; $i<=($numOfQstns-1); $i++)
   {
  $correct = $correctAns[$i];
        $stAnswer = $stAns[$i];
  if($stAnswer == $correct) {
  $score++;
  };
   };
    $percentage = number_format($score/$numOfQstns*100, 2, '.', '');
 echo "ชื่อผู้ทำข้อสอบ:  $thisUserName<br>";
 echo "ข้อสอบวิชา: $subjName <br>";
 echo"ทำข้อสอบได้ทั้งหมด: $score ข้อ คิดเป็นร้อยละ $percentage <br>";
 echo "<br><br><b>ผลการสอบ</b>";
   if($percentage >=$cutpoint) {
   echo "<br> ผ่าน";
$link=mysql_connect("localhost","root","48121226");
              if (!$link)
              {
                         echo("ERROR");
              }
                 else
              {
//ติดต่อฐานข้อมูล MySQL ชื่อ test
              mysql_select_db("test",$link);

//เปิด ตารางชื่อ testcom และ เขตข้อมูล ชื่อ name,class,school,today,time,score
               $sql="insert into test (name,score) 
                        values ('$name','$score')";

//เพิ่มข้อมูลลง Database
               $res = mysql_query( $sql , $link );
               if ($res==1)
                   print("Adding to table OK.");
               else
                   print("Error Adding to table. ");
}
   }else{
    echo "<br><span style=\"color: #f00;\"> ท่านไม่ผ่านเกณฑ์ $cutpoint %</span><p><input type=\"button\" value=\"ทำข้อสอบใหม่\" onClick=\"history.go(-1)\">";
   }
?>
</body>
</html>




Tag : PHP, Windows







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-08-18 18:21:34 By : misslethal View : 968 Reply : 7
 

 

No. 1



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



สถานะออฟไลน์


Code (PHP)
<?php
foreach($correctAns as $value)
{
echo '<input type="hidden" name="result[]" value="'. $value. '">';
}
echo "<input type = hidden name = \"subjName\" value='$subjectName'>";
echo "<input type = hidden name = \"cpoint\" value=$cutpoint>";
?>

โค๊ดข้างบน จะเก็บใน ตัวข้อสอบทำไมครับ ให้คนทำวิวซอร์สดูเหรอครับ ว่าข้อไหนถูก 5555

เอาออกครับ

สำหรับอันล่า่งนี้ ไม่ได้มีประโยชน์ ใน from ทำข้อสอบเลยครับ เอาไปไว้ใน ตัวตรวจข้อสอบเลยครับ
Code (PHP)
<?php
$subjectName = "แบบทดสอบบทที่1";
//เฉลยข้อที่ถูก -- ไม่จำกัดจำนวนข้อ
$correctAns=array("ข","ก","ค","ง","ค","ง"); 
//เกณฑ์การผ่านขั้นต่ำ
$cutpoint = 60;
?>




Code (PHP)
<!doctype html>
<html>
<head>
<title>ตรวจข้อสอบ</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<?php
// เอามาจากข้างบน
$subjectName = "แบบทดสอบบทที่1";
//เฉลยข้อที่ถูก -- ไม่จำกัดจำนวนข้อ
$correctAns=array("ข","ก","ค","ง","ค","ง"); 
//เกณฑ์การผ่านขั้นต่ำ
$cutpoint = 60;


$thisUserName = trim($_POST["usrName"]);
// $subjName = $_POST["subjName"];  // เอาออก อยู่ข้างบนแล้ว
// $cutpoint = $_POST["cpoint"]; // เอาออก อยู่ข้างบนแล้ว
// $correctAns = $_POST["result"];  // เอาออก อยู่ข้างบนแล้ว
// $numOfQstns = sizeof($correctAns); // sizeof = Alias of count() เปลี่ยนเป็นบันทัดล่าง ตรงๆ ไม่ต้องอ้อม
$numOfQstns = count($correctAns);
$score = 0;
/* รูปแบบนี้เปลี่ยนครับ <= มันใช้ 2 operator ทำ2ครั้ง น้อยกว่าหรือเปล่า ถ้าไม่น้อยกว่า เท่ากับหรือไม่ ต้องมาตรวจสอบอีก
for ($i=1; $i<=$numOfQstns; $i++)
{
	$stAns[$i-1] = trim($_POST["question" . $i]); 
}
ใช้แบบข้างล่าง น้อยกว่าหรือไม่ ไม่น้อยกว่าก็ผิดไปเลย
*/

for ($i=0; $i<$numOfQstns; $i++)
{
	$stAns[$i] = trim($_POST["question" . ($i+1) ]); // ไม่ต้อง trim ก็ได้มั้งครับ มันกำหนดตายตัวอยู่แล้วในค่า value ที่เราใส่เข้าไป
}


// for ($i=0; $i<=($numOfQstns-1); $i++) // นี่ก็เหมือนกันทำให้ยุ่งยากไปหรือเปล่าครับ
for ($i=0; $i<$numOfQstns; $i++)
{
	//  $correct = $correctAns[$i];
	//  $stAnswer = $stAns[$i];
	if($stAns[$i] == $correctAns[$i]) $score++;
};
// $percentage = number_format($score/$numOfQstns*100, 2, '.', '');
$percentage = number_format($score*100/$numOfQstns, 2, '.', '');
echo "ชื่อผู้ทำข้อสอบ: $thisUserName<br>";
echo "ข้อสอบวิชา: $subjName <br>";
echo"ทำข้อสอบได้ทั้งหมด: $score ข้อ คิดเป็นร้อยละ $percentage <br>";
echo "<br><br><b>ผลการสอบ</b>";
if($percentage >=$cutpoint) {
	echo "<br> ผ่าน";
	$link=mysql_connect("localhost","root","48121226");
	if (!$link)
	{
		echo("ERROR");
	}
	else
	{
		//ติดต่อฐานข้อมูล MySQL ชื่อ test
		mysql_select_db("test",$link);

		//เปิด ตารางชื่อ testcom และ เขตข้อมูล ชื่อ name,class,school,today,time,score
		$sql="insert into test (name,score) 
		values ('$name','$score')";

		//เพิ่มข้อมูลลง Database
		$res = mysql_query( $sql , $link );
		if ($res==1)
			print("Adding to table OK.");
		else
			print("Error Adding to table. ");
	}
}else{
	echo "<br><span style=\"color: #f00;\"> ท่านไม่ผ่านเกณฑ์ $cutpoint %</span><p><input type=\"button\" value=\"ทำข้อสอบใหม่\" onClick=\"history.go(-1)\">";
}
?>
</body>
</html>


แล้วที่ว่า ไม่รับค่าชื่อ ๆ ของอะไรครับ








ประวัติการแก้ไข
2014-08-18 20:07:03
2014-08-18 20:08:46
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-18 20:01:58 By : Chaidhanan
 


 

No. 2



โพสกระทู้ ( 12 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

ตอบความคิดเห็นที่ : 1 เขียนโดย : Chaidhanan เมื่อวันที่ 2014-08-18 20:01:58
รายละเอียดของการตอบ ::
แบบจะมีให้ input ชื่อเข้าไปค่ะ ไปดูในฐานข้อมูลละไม่ขึ้นค่ะ ขึ้นแต่คะแนน

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-18 20:07:23 By : misslethal
 

 

No. 3



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



สถานะออฟไลน์


$thisUserName = trim($_POST["usrName"]);
อันนี้หรือเปล่า match กับบันทัดล่างไหมครับ
sql="insert into test (name,score) values ('$name','$score')";
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-18 20:11:56 By : Chaidhanan
 


 

No. 4



โพสกระทู้ ( 12 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

ตอบความคิดเห็นที่ : 3 เขียนโดย : Chaidhanan เมื่อวันที่ 2014-08-18 20:11:56
รายละเอียดของการตอบ ::
ใช่เลยค่ะ

เป็นภาษาต่างดาวอ่ะค่ะ แต่เปลี่ยนเป็น utf-8 เสร็จก็ไม่หายอ่ะคะ่ T^T


ประวัติการแก้ไข
2014-08-19 12:10:01
2014-08-19 12:30:31
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-19 12:05:01 By : misslethal
 


 

No. 5



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



สถานะออฟไลน์


61. mysql_select_db("test",$link);
mysql_query('set name utf8'); // เพิ่มบันทัดนี้ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-19 21:06:04 By : Chaidhanan
 


 

No. 6



โพสกระทู้ ( 12 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

ตอบความคิดเห็นที่ : 5 เขียนโดย : Chaidhanan เมื่อวันที่ 2014-08-19 21:06:04
รายละเอียดของการตอบ ::
ก็ยังต่างดาวอยู่เลยค่ะ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-20 12:39:50 By : misslethal
 


 

No. 7



โพสกระทู้ ( 484 )
บทความ ( 3 )



สถานะออฟไลน์


จุดนี้ล่ะ

Table Collation:UTF-8 หรือยัง

Save As : xx.php อย่าลืม Enconding : UTF-8

น่าจะหมดล่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-20 16:43:18 By : fossil31
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ช่วยดูโค๊ดนี้ให้หน่อยค่ะ ผิดตรงไหน ไม่รับค่าชื่อค่ะ แต่รับค่าคะแนน
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 00
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่