ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์Programmingเอาฟังชั่น PHP ตรวจสอบหมายเลขบัตรประชาชนมาฝากครับ
หน้า: [1] 2  ทั้งหมด   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: เอาฟังชั่น PHP ตรวจสอบหมายเลขบัตรประชาชนมาฝากครับ  (อ่าน 23153 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
googlerich
สมุนแก๊งเสียว
*

พลังน้ำใจ: 59
ออฟไลน์ ออฟไลน์

กระทู้: 534



ดูรายละเอียด เว็บไซต์
« เมื่อ: 22 เมษายน 2011, 12:44:08 »

เอาฟังชั่น ตรวจสอบหมายเลขบัตรประชาชนมาฝากครับ

<?
function checkPID($pid) {
   if(strlen($pid) != 13) return false;
      for($i=0, $sum=0; $i<12;$i++)
      $sum += (int)($pid{$i})*(13-$i);
      if((11-($sum%11))%10 == (int)($pid{12}))
      return true;
   return false;
}

?>
<form action="?" method="get">
หมายเลขบัตรประชาชน : <input type="text" name="txtID" />
<input type="submit" value="ตรวจสอบ" />
</form>

<?
if(isset($_GET['txtID'])) {
   if(checkPID($_GET['txtID']))
   echo "รหัสถูกต้องครับ";
   else
   echo "หมายเลขบัตรประชาชนของท่านไม่ถูกต้อง";
}

?>
บันทึกการเข้า

ไทยเฮิร์บออนไลน์
สินค้าสมุนไพร
คอร์ดกีต้าร์
คอร์ดเพลง
สมุนไพรขายส่ง

http://woodychannel.com/ วู๊ดดี้พาเที่ยว กินเที่ยวสบายๆ สไตล์วู๊ดดี้
http://woodysay.com/ วู๊ดดี้เซย์
NaiTan
Verified Seller
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 378
ออฟไลน์ ออฟไลน์

กระทู้: 5,278



ดูรายละเอียด เว็บไซต์
« ตอบ #1 เมื่อ: 22 เมษายน 2011, 12:51:17 »

ตรวจยังไงครับ ตรวจแล้วได้ผลอะไร ใช้หลักการอะไรตรวจ อธิบายเพิ่มหน่อยครับ ดูจากโค้ดแล้วไม่ค่อยเกจนะ  Sad
บันทึกการเข้า

ru
ก๊วนเสียว
*

พลังน้ำใจ: 24
ออฟไลน์ ออฟไลน์

กระทู้: 440



ดูรายละเอียด
« ตอบ #2 เมื่อ: 22 เมษายน 2011, 12:53:23 »

ทำไมผมดูจากที่ให้มา ผมไม่ค่อยเข้าใจเลยครับ
บันทึกการเข้า
NaiTan
Verified Seller
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 378
ออฟไลน์ ออฟไลน์

กระทู้: 5,278



ดูรายละเอียด เว็บไซต์
« ตอบ #3 เมื่อ: 22 เมษายน 2011, 12:55:36 »

ทำไมผมดูจากที่ให้มา ผมไม่ค่อยเข้าใจเลยครับ
ใช่ จะรู้ได้ไงว่าหมายเลขนั้นมีจริง และถูกต้อง ไม่เห็๋นมีเชื่อมต่อไปเช็คกับฐานข้อมูลอะไรเลย
บันทึกการเข้า

pollok
Verified Seller
สมุนแก๊งเสียว
*

พลังน้ำใจ: 44
ออฟไลน์ ออฟไลน์

กระทู้: 505



ดูรายละเอียด เว็บไซต์
« ตอบ #4 เมื่อ: 22 เมษายน 2011, 12:57:55 »

น่าจะเป็นการเช็ค Digit
บันทึกการเข้า

รับทำเว็บไซต์ด้วย PHP HTML CSS JQUERY (ด้วยมืออาชีพ)
รับออกแบบเว็บไซต์ ด้วยทีมงานมืออาชีพ (PM ขอชมผลงาน)
ตัดแบบจาก PSD ด้วย Html + Css + Table Less และสามารถทำให้แสดงผลแบบ Cross Browser
- Bootstrap
- OpenCart
- และอื่นๆ
googlerich
สมุนแก๊งเสียว
*

พลังน้ำใจ: 59
ออฟไลน์ ออฟไลน์

กระทู้: 534



ดูรายละเอียด เว็บไซต์
« ตอบ #5 เมื่อ: 22 เมษายน 2011, 13:00:16 »

น่าจะเป็นการเช็ค Digit

ถูกต้องครับ เช็ค format ของเลขบัตร ไม่ได้เชื่อมเช็คฐานข้อมูล
บันทึกการเข้า

ไทยเฮิร์บออนไลน์
สินค้าสมุนไพร
คอร์ดกีต้าร์
คอร์ดเพลง
สมุนไพรขายส่ง

http://woodychannel.com/ วู๊ดดี้พาเที่ยว กินเที่ยวสบายๆ สไตล์วู๊ดดี้
http://woodysay.com/ วู๊ดดี้เซย์
ThaNaButS
Verified Seller
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 67
ออฟไลน์ ออฟไลน์

กระทู้: 1,197



ดูรายละเอียด
« ตอบ #6 เมื่อ: 22 เมษายน 2011, 13:01:40 »

น่าจะเป็นการเช็ค Digit

ถูกต้องครับ เช็ค format ของเลขบัตร ไม่ได้เชื่อมเช็คฐานข้อมูล
คับ ตัวเลขสำหรับตรวจสอบความถูกต้องของเลขทั้ง 12 หลักแรก เท่านั้นคับ
บันทึกการเข้า
NaiTan
Verified Seller
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 378
ออฟไลน์ ออฟไลน์

กระทู้: 5,278



ดูรายละเอียด เว็บไซต์
« ตอบ #7 เมื่อ: 22 เมษายน 2011, 13:03:17 »

น่าจะเป็นการเช็ค Digit

ถูกต้องครับ เช็ค format ของเลขบัตร ไม่ได้เชื่อมเช็คฐานข้อมูล
ใช่ ผมก็เข้าใจว่าเช็ค format อย่างเดียว
บันทึกการเข้า

googlerich
สมุนแก๊งเสียว
*

พลังน้ำใจ: 59
ออฟไลน์ ออฟไลน์

กระทู้: 534



ดูรายละเอียด เว็บไซต์
« ตอบ #8 เมื่อ: 22 เมษายน 2011, 13:11:09 »

หรือถ้าต้องการเช็คในขั้นต้น โดยใช้ php ก็ตามด้านล่างนี้เลยคับ  เป็นหารเช็คตามสูตร
###======================รับค่าจากฟอร์ม==============###
$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 "หมายเลขบัตรประชาชนนี้ไม่ถูกต้อง";
}
}

?>

ข้างบน อันนี้ผมเก็บไว้นานแล้ว ไม่รู้เอามาจากไหน ต้องขออภัยแหล่งที่มาด้วยที่ไม่ได้ป้อนเครดิตครับ


ส่วนลิงค์ข้างล่างนี้ เป็นโปรแกรมเช็ค หมายเลขบัตรประจำตัวประชาชน โดยใช้ webservice ของกรมสรรพากร (เช็คได้ถูกต้อง 100%)
http://www.thainaturecure.com/PIN/PIN.php
บันทึกการเข้า

ไทยเฮิร์บออนไลน์
สินค้าสมุนไพร
คอร์ดกีต้าร์
คอร์ดเพลง
สมุนไพรขายส่ง

http://woodychannel.com/ วู๊ดดี้พาเที่ยว กินเที่ยวสบายๆ สไตล์วู๊ดดี้
http://woodysay.com/ วู๊ดดี้เซย์
bomload
Newbie
*

พลังน้ำใจ: 2
ออฟไลน์ ออฟไลน์

กระทู้: 80



ดูรายละเอียด เว็บไซต์
« ตอบ #9 เมื่อ: 22 เมษายน 2011, 13:26:58 »

ใช่ครับ เขาไม่ได้เช็คจากฐานข้อมูลหรอก
แค่มาให้เช็คว่าคุณกรอกนั้นจริงหรือป่าว เพราะจะเอาตัวเลขสุดท้ายว่าถูกต้องหรือไม่
บันทึกการเข้า

รับทำเว็บไซต์
phone1246
Newbie
*

พลังน้ำใจ: 1
ออฟไลน์ ออฟไลน์

กระทู้: 34



ดูรายละเอียด เว็บไซต์
« ตอบ #10 เมื่อ: 28 สิงหาคม 2012, 04:17:20 »

ขอบคุณครับ

แล้วมีวิธีเช็คกับ ข้อมูลของภาครัฐไหมครับ  wanwan003
บันทึกการเข้า
xvlnw.com
Verified Seller
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 493
ออฟไลน์ ออฟไลน์

กระทู้: 5,905



ดูรายละเอียด เว็บไซต์
« ตอบ #11 เมื่อ: 28 สิงหาคม 2012, 06:03:29 »

แจ่มเลยครับ เขียนได้สั้นดีเลยทีเดียว
Bookmark ไว้ซักหน่อย ^__^
บันทึกการเข้า

Queue
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 106
ออฟไลน์ ออฟไลน์

กระทู้: 4,295



ดูรายละเอียด เว็บไซต์
« ตอบ #12 เมื่อ: 28 สิงหาคม 2012, 06:48:07 »

ขอบคุณคับ

หมายเลขบัตรประชาชน เช็คได้แค่ความถูกต้องเท่านั้น

แต่จะเช็คจากฐานข้อมูลจริง ไม่ได้เพราะข้อมูลเป็นความลับ

ดังนั้นวิธ๊นี้จึงเป็นวิธ๊ที่ดีที่สุด (มั้ง)
บันทึกการเข้า

krusnai
Newbie
*

พลังน้ำใจ: 6
ออฟไลน์ ออฟไลน์

กระทู้: 66



ดูรายละเอียด
« ตอบ #13 เมื่อ: 28 สิงหาคม 2012, 06:53:27 »

ขอบคุณครับ  wanwan017 wanwan017
บันทึกการเข้า
search_ie
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 73
ออฟไลน์ ออฟไลน์

กระทู้: 1,556



ดูรายละเอียด เว็บไซต์
« ตอบ #14 เมื่อ: 28 สิงหาคม 2012, 06:56:41 »

ขอบคุณมากครับผม  wanwan017
บันทึกการเข้า

Cosmo
คนรักเสียว
*

พลังน้ำใจ: 16
ออฟไลน์ ออฟไลน์

กระทู้: 192



ดูรายละเอียด
« ตอบ #15 เมื่อ: 28 สิงหาคม 2012, 08:05:15 »

ขอบคุณครับ wanwan017
บันทึกการเข้า
sawit
Verified Seller
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 1416
ออฟไลน์ ออฟไลน์

กระทู้: 3,701



ดูรายละเอียด
« ตอบ #16 เมื่อ: 28 สิงหาคม 2012, 08:12:35 »

เพื่ออะไร
บันทึกการเข้า
arizonas
Newbie
*

พลังน้ำใจ: 3
ออฟไลน์ ออฟไลน์

กระทู้: 30



ดูรายละเอียด
« ตอบ #17 เมื่อ: 28 สิงหาคม 2012, 09:39:43 »

ใช้ได้ดี ครับ พอจะช่วยกรอง คนสมัครได้บ้าง
บันทึกการเข้า
Unlocker
คนรักเสียว
*

พลังน้ำใจ: 44
ออฟไลน์ ออฟไลน์

กระทู้: 193



ดูรายละเอียด เว็บไซต์
« ตอบ #18 เมื่อ: 28 สิงหาคม 2012, 09:55:33 »

ขอบคุณครับ ไงขอเก็บไว้ก่อน วันหน้าเผื่อจะได้ใช้
บันทึกการเข้า

Fallen
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 162
ออฟไลน์ ออฟไลน์

กระทู้: 2,751



ดูรายละเอียด เว็บไซต์
« ตอบ #19 เมื่อ: 28 สิงหาคม 2012, 09:59:58 »

เอาฟังชั่น ตรวจสอบหมายเลขบัตรประชาชนมาฝากครับ

<?
function checkPID($pid) {
   if(strlen($pid) != 13) return false;
      for($i=0, $sum=0; $i<12;$i++)
      $sum += (int)($pid{$i})*(13-$i);
      if((11-($sum%11))%10 == (int)($pid{12}))
      return true;
   return false;
}

?>
<form action="?" method="get">
หมายเลขบัตรประชาชน : <input type="text" name="txtID" />
<input type="submit" value="ตรวจสอบ" />
</form>

<?
if(isset($_GET['txtID'])) {
   if(checkPID($_GET['txtID']))
   echo "รหัสถูกต้องครับ";
   else
   echo "หมายเลขบัตรประชาชนของท่านไม่ถูกต้อง";
}

?>

wanwan002
บันทึกการเข้า

หน้า: [1] 2  ทั้งหมด   ขึ้นบน
พิมพ์