เลข 13 หลักอีกรอบ คือผมมีโคดตรวจสอบ 13หลักคับ แต่ผมไม่รู้ว่าจะทำฟอร์มรับค่าที่เป็น group เพื่อจะส่งค่ามายังสคริปข่างล่างนี้ได้ไงช่วยแนะนำหน่อย
คือผมมีโคดตรวจสอบ 13หลักคับ
แต่ผมไม่รู้ว่าจะทำฟอร์มรับค่าที่เป็นgroupเพื่อจะส่งค่ามายังสคริปข่างล่างนี้ได้ไงช่วยแนะนำหน่อย
###======================รับค่าจากฟอร์ม==============###
$group_1=$_POST['group_1']; // หมายเลขกลุ่มที่ 1 ( มี1ตัว )
$group_2=$_POST['group_2']; // หมายเลขกลุ่มที่ 2 ( มี4ตัว )
$group_3=$_POST['group_3']; // หมายเลขกลุ่มที่ 3 ( มี5ตัว )
$group_4=$_POST['group_4']; // หมายเลขกลุ่มที่ 4 ( มี2ตัว )
$group_5=$_POST['group_5']; // หมายเลขกลุ่มที่ 5 ( มี1ตัว ) หลักนี้เอาไว้เป็น Check Digit
### =================== นำค่่าที่ได้จากฟอร์มมาแยกสตริงค์ ==============###
$num1=$group_1;
$num2=substr("$group_2",0,1); // ดึงเอาเลขตัวแรก ของกลุ่มที่สองออกมา
$num3=substr("$group_2",1,1); // ดึงเอาเลขตัวที่สอง ของกลุ่มที่สองออกมา
$num4=substr("$group_2",2,1); // ดึงเอาเลขตัวที่สาม ของกลุ่มที่สองออกมา
$num5=substr("$group_2",3,1); // ดึงเอาเลขตัวที่สี่ ของกลุ่มที่สองออกมา
$num6=substr("$group_3",0,1); // ดึงเอาเลขตัวแรก ของกลุ่มที่สามออกมา
$num7=substr("$group_3",1,1); // ดึงเอาเลขตัวที่สอง ของกลุ่มที่สามออกมา
$num8=substr("$group_3",2,1); // ดึงเอาเลขตัวที่สาม ของกลุ่มที่สามออกมา
$num9=substr("$group_3",3,1); // ดึงเอาเลขตัวที่สี่ ของกลุ่มที่สามออกมา
$num10=substr("$group_3",4,1); // ดึงเอาเลขตัวที่5 ของกลุ่มที่สามออกมา
$num11=substr("$group_3",0,1); // ดึงเอาเลขตัวแรก ของกลุ่มที่สี่ออกมา
$num12=substr("$group_2",1,1); // ดึงเอาเลขตัวที่สอง ของกลุ่มที่สี่ออกมา
$num13=$group_5;
### ==== เริ่มต้นคำนวณ Step1 : เอาเลข 12 หลักมาคูณกับเลขประจำหลัก ====###
$cal_num1=$num1*13;
$cal_num2=$num2*12;
$cal_num3=$num3*11;
$cal_num4=$num4*10;
$cal_num5=$num5*9;
$cal_num6=$num6*8;
$cal_num7=$num7*7;
$cal_num8=$num8*6;
$cal_num9=$num9*5;
$cal_num10=$num10*4;
$cal_num11=$num11*3;
$cal_num12=$num12*2;
### ==== Step2 : เอาเอาผลลัพธ์ที่ได้ในการคูณแต่ละครั้งมาบวกกัน ====###
$cal_sum=$cal_num1+$cal_num2+$cal_num3+$cal_num4+$cal_num5+$cal_num6+$cal_num7+$cal_num8+$cal_num9+$cal_num10+$cal_num11+$cal_num12;
### ==== Step3 : นำผลลัพธ์จาก Step2 มา Mod ด้วย 11 ====###
$cal_mod=$cal_sum%11;
### ==== Final เอา 11 ตั้งแล้วลบด้วย ค่าที่ได้จากการ Mod ( Step3) ====###
$cal_2=11-$cal_mod;
if ($group_1<>"" || $group_1<>"" || $group_1<>"" || $group_1<>"" || $group_1<>"" ) {
if ($cal_2==$num13) {
echo "หมายเลขบัตรประชาชนนี้ถูกต้อง";
} else {
echo "หมายเลขบัตรประชาชนนี้ไม่ถูกต้อง";
}
}
?>
Tag : - - - -
Date :
29 ม.ค. 2551 20:01:35
By :
เอก
View :
1974
Reply :
1
แป่ว... ฟอร์มป้อนค่าเค้าก้อทำแบบบัตรประชาชนจริงอ่ะครับ.. ไม่ได้ป้อนทีเดียว
1-1001-01254-51-3 <== ตัวอย่างเลขบัตรประชาชน (แบ่งเป็น 5 กลุ่ม)
ก้อทำ input มา 5 ตัวสิครับ...แต่ละตัวคั่นด้วยเครื่องหมาย -
แล้วก้อตั้งค่า name ของ input ตาม code ที่คุณ post ไว้น่ะ
ส่งไปยังหน้า code ตรวจสอบของคุณก้อ AmiNO แล้ว...
Date :
29 ม.ค. 2551 20:20:37
By :
Keep_Walking`
Load balance : Server 00