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,027

HOME > PHP > PHP Forum > ถอดรหัส md5 ในเมื่อเราสามารถเข้ารหัส md5 ได้แล้ว เช่น 1234 เมือเข้ารหัส md5 เป็น ds4545gdg15d454dg



 

ถอดรหัส md5 ในเมื่อเราสามารถเข้ารหัส md5 ได้แล้ว เช่น 1234 เมือเข้ารหัส md5 เป็น ds4545gdg15d454dg

 



Topic : 015584

Guest




ในเมื่อเราสามารถเข้ารหัส md5 ได้แล้ว เช่น 1234 เมือเข้ารหัส md5 เป็นds4545gdg15d454dg

แล้วเราสมารถ แปลง จาก ds4545gdg15d454dg กลับมาให้ เป็น 1234 ได้ หรือเปล่าครับ

ท่านผู้มีความรู้ที่ได้ศึกษาเรื่องนี้ ช่วยหน่อยนะครับ


Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 12 ก.ย. 2550 11:58:29 By : akachai View : 33374 Reply : 53
 

 

No. 1

Guest


md5 เข้าใช้สำหรับเข้ารหัสตอน ล็อก อิน ถอดไม่ได้หรือแต่ถ้าใช้ encode ถอดได้ ในเว็บนี้ก่อมี






Date : 12 ก.ย. 2550 13:46:31 By : สิงเหนือ
 


 

No. 2

Guest


md5 ถอดไมได้ แต่จะใช้รหัสนั้นมาเปรียบเทียบกันเท่านั้น ว่าตรงกันหรือไม่

ถ้าอยากถอดได้ก็ใช้ base64_encode -> base64_decode
Date : 12 ก.ย. 2550 15:23:25 By : อิอิ
 

 

No. 3

Guest


-*-

MD5 เข้ารหัสทางเดียว ถอดไม่ได้ แต่สามารถเปรียบเทียบได้ ครับ
Date : 12 ก.ย. 2550 15:26:17 By : Thenetxx AE111
 


 

No. 4

Guest


md5 ไม่สามารถถอดได้ครับ(ในตอนนี้ แต่อนาคตไม่แน่) แต่ก็ไม่ถึงกับสิ้นหนทางซะทีเดียวครับ

พอจะมีเวปที่เค้ารวบรวม encode จากคำต่างๆเก็บไว้ครับ

ลองหาดูนะครับ ได้ไม่ได้ก็เดี๊ยวมาตอบให้อีกทีนะ

เช่น encode คำว่า cat เค้าก็จะเก็บค่า encode ไว้เวลาเรากรอก ตัว encode ไปมันก็จะไปตรวจสอบกับ database

database หน่ะครับ ส่วนใหญ่ก็คำง่ายๆพื้นๆหน่ะครับบ ถ้าจำไม่ผิดเค้ามีเก็บ ค่าไว้ ตั้ง 100,000+ แหนะ ลองหา
ดูครับ
Date : 12 ก.ย. 2550 16:44:57 By : แมวน้ำแข็ง
 


 

No. 5



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



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


http://www.md5decrypter.com/

เว็บนี้ถอดได้ครับ
Date : 2013-02-20 10:43:12 By : arta
 


 

No. 6

Guest


ขอบคุณครับ
Date : 2015-10-15 14:01:15 By : กศน.
 


 

No. 7



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



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


afe3ae62d3f6b191e93fb68b440b8f9a
ลองถอดตัวนี้ที่ http://www.md5decrypter.com/ ไม่ได้ครับ
Date : 2020-03-19 07:28:59 By : ajsudkedt
 


 

No. 8



โพสกระทู้ ( 4,169 )
บทความ ( 7 )

Hall of Fame 2012

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


Topic 2015 ไม่ต้องขุดแล้วครับ 5ปีเค้าคฃทำได้แล้วล่ะ อีกอย่างมันดันกระทู้ใหม่ที่ต้องการความช่วยเหลือ Drop ลงไป
Date : 2020-03-19 08:50:38 By : Genesis™
 


 

No. 9



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



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


ครับผม
เค้าทำได้ แต่ผมยังทำไม่ได้ครับ
ผมต้องกราบขออภัยหากต้องทำให้กระทู้ใหม่ต้อง drop ลงไป
ขอโทษจริง ๆ ครับ #Genesis™
Date : 2020-03-19 10:42:32 By : ajsudkedt
 


 

No. 10



โพสกระทู้ ( 4,169 )
บทความ ( 7 )

Hall of Fame 2012

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


ตั้งกระทู้ใหม่จะดีกว่าครับ
- MD5 เป็นการ pass รหัสทางเดียวไม่สามารถถอดรหัสกลับมาได้
- ยกเว้นแต่คุณใช้ base64 decode/encode แต่ความปลอดภัยมันค่อนข้างต่ำ
https://www.thaicreate.com/php/php-base64_encode.html
- เพื่อความ Protected ควรใช้ Reg ที่ password ควรมี เช่น ต้องมีอักษร a-z A-Z 0-9 และมี symbol ประกอบใน การเข้ารหัสนั้น รวมถึงใช้ MD5 หรือการเข้ารหัสในลักษณะอื่นที่ สามารถเข้ารหัสได้ แต่ถอดรหัสไม่ได้ มันจะปลอดภัยมากกว่าสำหรับทำระบบ
Date : 2020-03-19 11:00:05 By : Genesis™
 


 

No. 11



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



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


จะทำไปทำไมจะไป hack เขาหรือไง

md5 มันเป็นการสร้าง string ขึ้นมาเพื่อใช้เปรียบเทียบ
สามารถใช้ เทคโนโลยี่ย้อนกลับได้ แต่มันมีโอกาสที่ย้อนแล้วจะไม่ได้ข้อมูลเหมือนข้อมูลที่สร้างมันได้
มันมี ความยาว 16 หรือ 32 ตัว และแต่ละตัว เป็นภาษาอังกฤษ + ตัวเลข 36 ตัวโดยประมาณ
แต่ข้อมูลที่สร้างมันขึั้นมาไม่จำกัดความยาว และไม่จำกัดชนิดตัวอักษร มันมีโอกาสซ้ำกันอยู่แล้ว
เพราะฉนั้นไม่มีประโยชน์ที่จะทำเทคโนโลยี่ย้อนกลับ
Date : 2020-03-19 11:44:31 By : Chaidhanan
 


 

No. 12



โพสกระทู้ ( 4,720 )
บทความ ( 8 )



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


หาคำว่า md5
https://en.wikipedia.org/wiki/MD5
Quote:
The MD5 message-digest algorithm is a widely used hash function producing a 128-bit hash value. Although MD5 was initially designed to be used as a cryptographic hash function

คลิกเข้าไปที่ความหมายของคำว่า cryptographic hash function
https://en.wikipedia.org/wiki/Cryptographic_hash_function
Quote:
A cryptographic hash function (CHF) is a hash function that is suitable for use in cryptography. It is a mathematical algorithm that maps data of arbitrary size (often called the "message") to a bit string of a fixed size (the "hash value", "hash", or "message digest") and is a one-way function, that is, a function which is practically infeasible to invert.


one-way คือทางเดียว infeasible to invert คือเป็นไปไม่ได้ที่จะกลับมา
แปลย่อๆคือสับข้อความให้ยุ่งจนอ่านไม่ได้แล้วเอากลับมาเหมือนเดิมไม่ได้อีก. อันนี้คือจุดประสงค์.

จริงๆคห.ข้างบนเขาก็บอกไปแล้วอะนะถ้าได้อ่าน...

เมื่อเอากลับมาไม่ได้ การจะไปทำให้มันย้อนกลับมา ก็ต้องถามตัวเองว่าทำไปทำไม เพื่องานที่ไม่สุจริตหรือเปล่า?
พวกเว็บที่มันบอกย้อนกลับได้ ส่วนใหญ่ใช้การบันทึกเอา ไม่ใช่คำณวนย้อนกลับ ดังนั้นแค่เอาข้อความเดียวกันที่มันเหมือนจะย้อนกลับได้ + append ตัวเลขสักตัวแล้ว md5() มันก็หาไม่เจอแล้วว่าคืออะไร.

กรณีที่มี hacker บางคนสามารถทำให้ย้อนกลับได้จริงๆด้วยการคำณวน ผ่านความสามารถของ hardware ในปัจจุบันที่ว่องไว อันนั้นก็เป็นความสามารถของเขา แต่ที่เคยเห็นเขาก็จะทำเพียงเพื่อเอามาให้ดูว่ามันไม่ปลอดภัยในการเอามาใช้เก็บรหัสผ่านอีกต่อไป แค่นั้น ไม่เห็นจะเอาไปใช้อย่างอื่น.

ปกติพวกการคิดค้นที่มันย้อนแย้งจุดประสงค์ ถ้าไม่ใช่พวก security lab ที่เขาทดลองเพื่อความปลอดภัยอย่างว่านี่ ก็ไม่มีใครเขาอยากจะทำและไม่อยากจะเผยแพร่กันหรอก เพราะมันไม่ถูกต้อง ถ้าอยากทำให้ได้ก็ต้องพยายามเอาเอง.
Date : 2020-03-19 16:56:40 By : mr.v
 


 

No. 13



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



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


สิ่งที่ผมอยากทราบจากรหัส password ที่ถูกเข้ารหัสไว้เนื่องจาก
ผมนำเข้าข้อมูลนักเรียน 2450 คนจาก Navicat ไป SQL
แต่นักเรียนเข้าโปรแกรมไม่ได้ เพราะคอลัมน์ Password ใน SQL มันว่างเปล่า
ในคอลัมน์ Password จะมีรหัสขึ้นมาได้จำเป็นต้องกรอกข้อมูลนักเรียนทีละคนผ่านเมนูในโปรแกรม
แล้วคลิกบันทึก มันถึงจะสร้างรหัสขึ้นมาในช่อง password จึงจะสามารถให้นักเรียน login เข้าโปรแกรมได้
ปัญหาคือ นักเรียน 2450 หากให้ผมกรอกข้อมูลตามเมนูในโปรแกรมทีละคน คงไม่ไหวจริง ๆ ครับ
เลยอยากเสาะหาวิธีให้รวดเร็วขึ้นครับ
ขอบคุณทุกท่านที่ให้คำแนะนำนะครับ
Date : 2020-03-19 19:15:48 By : ajsudkedt
 


 

No. 14



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



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


gen password ขึ้นมาใหม่
และพิมพ์ใส่กระดาษ แจกให้นักเรียน ตามชื่อ
ง่ายที่สุดแล้ว เสร็จแล้วให้เข้าไปแก้ เอาเอง

ในอนาคตถ้านักเรียนลืม ให้เข้าห้องธุรการ ยืนยันตัวตนจากบัตรประจำตัว
ให้ครู เซทพาสเวิร์ดให้ใหม่

และเด็กที่เข้าใช้คอมพิวเตอร์ได้นี่ ส่วนใหญ่ก็จะมี สมาร์ทโฟนใช้กันทั้งหมด หรือมีอีเมลใช้กันทั้งนั้น
ก็ใช้ email ของพวกเขาให้เป็นประโยชน์ นำมาผูกกับข้อมูล เพื่อแจ้งอะไรที่จำเป็นก็ได้

หรืออีกที รหัสประจำตัวเขา ก็คล้ายพาสเวิร์ด นำมาใช้แทนพาสก่อนก็ได้
คนไหนช่องพาสเวิร์ดว่างก็ให้พิมพ์ รหัสประจำตัวเพื่อยืนยัน

ผมยังคิดไม่ออกเหตุผลที่จะไป hack md5

ปล. สงสัยครับ แล้วคุณมี md5 จากของเก่า แล้วทำไมถีงไ่ม่ใช้ ล่ะครับ
ผมว่าคุณเขียนโปรแกรม login เปรียบเทียบ ไม่ถูกมากกว่าละมั้งเนี่ย


ประวัติการแก้ไข
2020-03-19 19:58:23
Date : 2020-03-19 19:53:37 By : Chaidhanan
 


 

No. 15



โพสกระทู้ ( 4,720 )
บทความ ( 8 )



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


ปกติการ export sql ออกมา ข้อมูลมันควรมาหมดเลยนี่ครับ ไม่ควรเว้น password ด้วยเพราะมันคือ varchar/text นี่เอง ทำไม export จึงว่างช่อง password ได้?
ถ้า navicat มันมีปัญหานี้ก็แนะนำว่า export ตรงๆจาก sql command เลยดีกว่า


edit: แนะนำตามคห.ข้างบน ให้ใช้กระบวนการ reset password ด้วยตนเองผ่านอีเมลจะง่ายและเป็นสากล อีกทั้งยังสามารถปรับโปรแกรมซะใหม่ ให้ใช้ algorithm สำหรับการ hash รหัสผ่านจริงๆซึ่งจะปลอดภัยกว่า md5 เยอะ.


ประวัติการแก้ไข
2020-03-19 20:31:26
Date : 2020-03-19 20:29:12 By : mr.v
 


 

No. 16



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



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


#Chaidhanan
1. gen password ใหม่ ทำไม่ได้ครับ คนเขียนโปรแกรมนี้เค้ากำหนด algorithm ไว้ซึ่งผมไม่ทราบรูปแบบว่า password ถูกกำหนดมาจากอะไรครับ
2. ถ้ากรอกข้อมูลนักเรียนตามเมนูในโปรแกรม User Password จะสามารถตั้งเองได้ครับ แต่พอมาดูใน sql Password จะถูกเข้ารหัสไว้ครับ
3. เข้ากรอกข้อมูลนักเรียนในโปรแกรมต้องเข้าในนามครู และต้องมานั่งใล่ติดตามให้เข้ากรอกจนกว่าจะครบ 2450 คน คงลำบากหน้าดูครับ
4.MD5 ที่ได้จากการกรอกตามเมนูในโปรแกรม หากทำใน excel ลากสูตรได้แล้วนำไปวางใน slq ก็จะทำให้งานรวดเร็วยิ่งขึ้นครับ ไม่แน่ใจว่าพอจะมี excel แบบนี้ไหม คือ ใส่รหัส Password ลงไป แล้วให้ excel ถอดเป็น MD5 ให้ออกมาเลย ประมาณนี้ครับ
5. "เขียนโปรแกรม login เปรียบเทียบ" ผมอยากจะขอศึกษาจากท่าน พอจะมี source code ตัวอย่างไหมครับ
ขอบคุณ #Chaidhanan สำหรับคำแนะนำมาก ๆ ครับ


ประวัติการแก้ไข
2020-03-20 08:28:13
Date : 2020-03-20 08:05:50 By : ajsudkedt
 


 

No. 17



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



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


#mr.v
1. "export sql " ทาง Navicat คอลัมน์ Password มีรหัสเฉพาะนักเรียนที่กรอกตามเมนูในโปรแกรมครับ
2. ผมต้องการนำเข้าข้อมูลนักเรียน 2450 คน จาก excel ไป Navicat แล้ว Navicat มันจะเชื่อมต่อไปยัง sql เอง ซึ่งคอลัมน์ Password ใน excel ที่ผมนำเข้ามันว่างเปล่า เลยต้องการหาวิธีการได้มาซึ่ง Password ที่มีการเข้ารหัส MD5 เอามาลงใน excel ของนักเรียนแต่ละคนก่อนนำเข้าครับ
3. หากต้องกรอกข้อมูลนักเรียน 2450 คน ผ่านเมนูโปรแกรมทีละคน คงลำบากมาก ๆ เลยครับ
4. "export ตรง ๆ จาก sql command" กับ "กระบวนการ reset password ด้วยตนเองผ่านอีเมล" สองอย่างนี้ ผมอยากจะขอนำแนะนำเพิ่มเติมครับ
ขอบคุณครับ #mr.v สำหรับคำแนะมาก ๆ นะครับ


ประวัติการแก้ไข
2020-03-20 08:29:39
Date : 2020-03-20 08:26:52 By : ajsudkedt
 


 

No. 18



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



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


ขอถามครับ program ใช้ภาษาอะไรเขียนครับ
สามารถที่จะ เขียนเพิ่มเติมเองได้ไหม
ถ้าเขียนเพิ่มเติมแก้ไขได้ เดี๋ยวช่วยสอนครับ

แต่ถ้าเขียนเพิ่มเติมแก้ไขไม่ได้ คงต้องจ้างคนเก่าให้ทำให้ครับ
หรือจ้างบุคคลอื่น ทำการ decode ให้ออกมาในรูปแบบที่แก้ไขได้
หรือต้องทำมืออย่างเดียวแล้วล่ะครับ 2450 คน ไม่ถีงเดือนเดียวก็เสร็จครับ
วันละ 80 คน ถ้ามีหลายเครื่อง ครูหลายคน ช่วยกรอก ก็เร็วขึ้น
ตัวอย่างโรงพยาบาล พนักงานตรวจสอบสิทธิ์ 3 เครือ่ง รองรับผู้ป่วยได้ 500 คน (แค่ครึ่งวันเช้า)
เรียกรหัสประชาชน(บัตรนักเรียน) นั่งคุยสอบถาม (สร้างรหัส พิมพ์ให้เด็ก)


ประวัติการแก้ไข
2020-03-20 08:48:00
Date : 2020-03-20 08:42:09 By : Chaidhanan
 


 

No. 19



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



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


#Chaidhanan
1. ใช้ PHP ครับ
2. ผมสอนภาษาอังกฤษ ไม่มีพื้นฐานด้านการเขียนโปแกรม แต่ชอบและอยากเรียนรู้ครับ
3. ผมตั้งใจอยากจะช่วยโรงเรียนทำระบบบันทึกคะแนนพฤติกรรมนักเรียน online เดิมตอนนี้บันทึกใส่ excel ไว้ครับ
4. ผมไม่อยากให้โรงเรียนเสียเงินค่าโปรแกรม เลยหา download source code มาศึกษา ปรับปรุง พัฒนาเอาเองครับ
5. หากผมจะส่ง source code ทั้งหมดให้ท่าน ช่วยปรับให้ จะได้ไหมครับ
ขอบคุณครับ
Date : 2020-03-20 08:58:23 By : ajsudkedt
 


 

No. 20



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



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


ผมไม่มีเวลาขนาดนั้นหรอกครับ การเข้ามาตอบ มันแค่เวลาผมว่างเท่านั้น

ลองเอา database มาลงไว้เป็นตัวอย่าง ให้ดู ซัก 2-3 เรคคอร์ด ครับ
ทั้งของ excel ที่ทำไว้ กับ ของ mysql
บางที การสร้าง hash password ถ้ารู้สูตรการ สร้าง เราสามารถ generate sql statement จาก excel เป็น text
แล้ว copy มา paste ใน navicat query ได้เลย
ในเซล ชวาสุดของข้อมูลใส่ สูตร เช่น
="update table name set field_md5 = md5('" & a5 & "' ) where id=" & a1 & ";"

แล้วcopy ลงไปทุกรายการ เสร็จแล้ว ก็ copy value ที่ได้ ไป paste ใน navicat
อ้นนี้เป็นแบบ รายตัว

ทีนี้เรายังทำให้ง่ายขึ้นไปได้อีก โดยการ update แบบทั้งหมดได้ด้วยคำสั่ง บันทัดเดียวใน navicat ได้เลย
Code (SQL)
update table name 
set field_md5 = สูตรสร้าง hash password  
where ....



ประวัติการแก้ไข
2020-03-20 09:14:59
Date : 2020-03-20 09:10:22 By : Chaidhanan
 


 

No. 21



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



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


Code (PHP)
<?php 
if (eregi("student_list.php",(basename($_SERVER['PHP_SELF'])))) {
   	echo"<META HTTP-EQUIV='Refresh' CONTENT='0;URL=../../index.php'>";
  
die();
}
if($_GET[action]=="list"){ //แสดงข้อมูล
include"check_permission_admin.php";?>
<ul >
    <li class="btn btn-warning">
    <a href="?mname=admin&mfile=student_list&action=form">เพิ่มข้อมูล</a>
    </li>
   
    </ul>
	
	
    <form class="form-search" action="?mname=admin&mfile=student_list&action=search" method="post">
	 ค้นหา<span id="sprytextfield1">
      <label for="search"></label>
      <input type="text" name="search" id="search"  class="input-medium search-query" />
      <span class="textfieldRequiredMsg">กรุณากรอกคำที่ต้องการค้นหา</span></span>

    <button type="submit" class="btn btn-info">Search</button>
    </form>   
<?php
			$sql = "select  *  from student,class   where student.class_id=class.class_id    order  by  st_id  asc   ";  //แสดงตามสถานะ
			$dbquery = mysql_query($sql);

			// หาจำนวนเรกคอร์ดข้อมูลในตารางser_id=
			$num_rows = mysql_num_rows($dbquery);
			
			if($num_rows > 0){
			//---instance class---//
			$class_page = new Page();
		?>
<table  class="table table-bordered table-hover">
<tr class="header">
  <th scope="col">เลขประจำตัวนักเรียน</th>
  <th scope="col">ชื่อ-สกุล</th>
   <th scope="col">ระดับการศึกษา</th>
  <th scope="col">เบอร์โทรศัพท์</th>
 
  <th scope="col">แก้ไข</th>
  <th scope="col">ลบ</th>

</tr>
<?php
			$dbquery2 = $class_page->paging($sql);   //แบ่งหน้า
			while($result=mysql_fetch_array($dbquery2)) {
		
					
					
					If ($bg==$begin_color)
					{
							$bg="odd";		
						}
					Else
						{
							$bg="even";
						}
			   

		?>
<tr class="<?php echo $bg;?>">
  <td ><?php echo"<a href='?mname=admin&mfile=student_list&action=detail&st_id=$result[st_id]'>$result[st_id]   </a>";?></td>
  <td ><?php echo"$result[st_name]  $result[st_lastname]";?></td>
  <td ><?php echo"$result[class_name]/$result[st_room] ";?></td>
  <td ><?php echo"$result[st_mobile] ";?></td>
  <td WIDTH='10' align=center><?php echo"<A HREF='?mname=admin&mfile=student_list&action=edit&st_id=$result[st_id]'><IMG SRC='images/Doc-Edit.gif' WIDTH='16' HEIGHT='16' BORDER=0 ></A>";?></td>
  <td WIDTH='10' align=center><?php	echo "<a href='?mname=admin&mfile=student_list&action=delete&st_id=$result[st_id]' onclick=\"return confirm('คุณต้องการลบรายการนี้?')\" ><IMG SRC='images/Doc-Del.gif' WIDTH='16' HEIGHT='16' BORDER=0 ></A>"; ?></td>

</tr>
<?php
			
				}
			//end While
		echo "</Table>";
//---แสดงการแบ่งหน้า---//
$class_page->showpage("mname=".$_GET[mname]."&mfile=".$_GET[mfile]."&action=list"); 
		
			}else{

		?>
<table id="table1">
  <tr >
    <td  align=center> ไม่มีข้อมูล </td>
  </tr >
</table>
<?php
}
mysql_close();	// ปิดการเชื่อมต่อ
?>

<script type="text/javascript">
var sprytextfield1 = new Spry.Widget.ValidationTextField("sprytextfield1");
</script>
<?php 
}elseif($_GET[action]=="search"){  //การค้นหาข้อมูล	
 include"check_permission_teacher.php";?>


    <div class="well">
ผลการค้นหาข้อมูล
 <center>  ด้วยคำว่า &nbsp;&nbsp;   <?php echo  $_POST[search];?><p>  <A HREF="?mname=admin&mfile=student_list&action=list">กลับไปค้นหาใหม่</A></center>
    </div>
<?php 
			$sql = "select  *  from student,class   where    student.class_id=class.class_id and (st_id like  '".$_POST[search]."%'   or  st_name like  '".$_POST[search]."%') order  by st_id  asc   ";  //แสดงตามสถานะ
			$dbquery = mysql_query($sql);

			// หาจำนวนเรกคอร์ดข้อมูลในตารางser_id=
			$num_rows = mysql_num_rows($dbquery);
			
			if($num_rows > 0){

		?>
<table class="table table-bordered table-hover">
<tr class="header">
  <th scope="col">เลขประจำตัวนักเรียน</th>
  <th scope="col">ชื่อ-สกุล</th>
   <th scope="col">ระดับการศึกษา</th>
  <th scope="col">เบอร์โทรศัพท์</th>
 
  <th scope="col">แก้ไข</th>
  <th scope="col">ลบ</th>

</tr>
<?
		
			While  ($result = mysql_fetch_array($dbquery))	
				{
					
					
					
					
					If ($bg==$begin_color)
					{
							$bg="odd";		
						}
					Else
						{
							$bg="even";
						}
			   
		
		?>
<tr class="<?php echo $bg;?>">
 <td ><?php echo"<a href='?mname=admin&mfile=student_list&action=detail&st_id=$result[st_id]'>$result[st_id]   </a>";?></td>
    <td ><?php echo"$result[st_name]  $result[st_lastname]";?></td>
  <td ><?php echo"$result[class_name]/$result[st_room] ";?></td>
  <td ><?php echo"$result[st_mobile] ";?></td>
  <td WIDTH='10' align=center><?php echo"<A HREF='?mname=admin&mfile=student_list&action=edit&st_id=$result[st_id]'><IMG SRC='images/Doc-Edit.gif' WIDTH='16' HEIGHT='16' BORDER=0 ></A>";?></td>
  <td WIDTH='10' align=center><?php	echo "<a href='?mname=admin&mfile=student_list&action=delete&st_id=$result[st_id]' onclick=\"return confirm('คุณต้องการลบรายการนี้?')\" ><IMG SRC='images/Doc-Del.gif' WIDTH='16' HEIGHT='16' BORDER=0 ></A>"; ?></td>

</tr>
<?php
				
				}
			//end While

			echo "</Table>";

		
			}else{

		?>
<table id="table1">
  <tr >
    <td  align=center> ไม่มีข้อมูล </td>
  </tr >
</table>
<?php
}
mysql_close();	// ปิดการเชื่อมต่อ

}elseif($_GET[action]=="form"){  //ฟอร์มเพิ่มข้อมูล

 ?>

<script type="text/javascript" src="js/jquery-1.3.2.js"></script>
  <script type="text/javascript" src="js/jquery-ui-1.7.2.custom.js"></script>
<link href="js/smoothness/jquery-ui-1.7.2.custom.css" rel="stylesheet" type="text/css"> 
<style type="text/css">
.ui-datepicker{  
    width:170px;  
    font-family:tahoma;  
    font-size:11px;  
    text-align:center;  
}  
</style>
  <script type="text/javascript">
$(function(){
	var dateBefore=null;
	$("#st_birthdate,").datepicker({
		dateFormat: 'dd-mm-yy',
		dayNamesMin: ['อา', 'จ', 'อ', 'พ', 'พฤ', 'ศ', 'ส'], 
		yearRange: '-60:+10',
		monthNamesShort: ['มกราคม','กุมภาพันธ์','มีนาคม','เมษายน','พฤษภาคม','มิถุนายน','กรกฎาคม','สิงหาคม','กันยายน','ตุลาคม','พฤศจิกายน','ธันวาคม'],
		changeMonth: true,
		changeYear: true ,
		beforeShow:function(){
			if($(this).val()!=""){
				var arrayDate=$(this).val().split("-");		
				arrayDate[2]=parseInt(arrayDate[2])-543;
				$(this).val(arrayDate[0]+"-"+arrayDate[1]+"-"+arrayDate[2]);
			}
			setTimeout(function(){
				$.each($(".ui-datepicker-year option"),function(j,k){
					var textYear=parseInt($(".ui-datepicker-year option").eq(j).val())+543;
					$(".ui-datepicker-year option").eq(j).text(textYear);
				});				
			},50);

		},
		onChangeMonthYear: function(){
			setTimeout(function(){
				$.each($(".ui-datepicker-year option"),function(j,k){
					var textYear=parseInt($(".ui-datepicker-year option").eq(j).val())+543;
					$(".ui-datepicker-year option").eq(j).text(textYear);
				});				
			},50);		
		},
		onClose:function(){
			if($(this).val()!="" && $(this).val()==dateBefore){			
				var arrayDate=dateBefore.split("-");
				arrayDate[2]=parseInt(arrayDate[2])+543;
				$(this).val(arrayDate[0]+"-"+arrayDate[1]+"-"+arrayDate[2]);	
			}		
		},
		onSelect: function(dateText, inst){ 
			dateBefore=$(this).val();
			var arrayDate=dateText.split("-");
			arrayDate[2]=parseInt(arrayDate[2])+543;
			$(this).val(arrayDate[0]+"-"+arrayDate[1]+"-"+arrayDate[2]);
		}

	});
	
});
</script>
<script type="text/javascript">
//<![CDATA[

var province_id = <?php echo isset($_POST['province_id']) ? intval($_POST['province_id']) : '0'; ?>;
var amphur_id = <?php echo isset($_POST['amphur_id']) ? intval($_POST['amphur_id']) : '0'; ?>;
var district_id = <?php echo isset($_POST['district_id']) ? intval($_POST['district_id']) : '0'; ?>;

function loadSelectBox(id,url,selected){
	$.get(
		url,{},function(data){
			$(id).html(data);
			
			if (selected!=0){
				$(id+' option[value='+selected+']').attr('selected','selected');
			}
		}
	);
}

$(function(){
	loadSelectBox(
			'#province_id',
			'geo_combo.php?load=province',
			province_id
	);
	loadSelectBox(
			'#amphur_id',
			'geo_combo.php?load=amphur&province_id='+province_id,
			amphur_id
	);
	loadSelectBox(
			'#district_id',
			'geo_combo.php?load=district&amphur_id='+amphur_id,
			district_id
	);
	$('#province_id').change(function(e){
		var selected = e.target.value;
		loadSelectBox(
			'#amphur_id',
			'geo_combo.php?load=amphur&province_id='+selected,
			0
		);
		$('#district_id :not(option:first)').remove(); //add
	});
	$('#amphur_id').change(function(e){
		var selected = e.target.value;
		loadSelectBox(
			'#district_id',
			'geo_combo.php?load=district&amphur_id='+selected,
			0
		);
	});
});
//]]>
</script>

      <form action="?mname=admin&mfile=student_list&action=insert" method="post" enctype="multipart/form-data" name="frmstudent" class="well  form-horizontal">
        <fieldset>
          <legend>นักเรียนลงทะเบียน</legend>
          <span id="sprytextfield1">
          <label for="st_id">เลขประจำตัวนักเรียน</label>
          <input type="text" name="st_id" id="st_id" />
          <span class="textfieldRequiredMsg">กรุณากรอกเลขประจำตัวนักเรียน</span><span class="textfieldInvalidFormatMsg">กรอกเฉพาะตัวเลข</span><span class="textfieldMinCharsMsg">เลขประจำตัวนักเรียน 5 หลัก </span><span class="textfieldMaxCharsMsg">เลขประจำตัวนักเรียน 5 หลัก </span></span> 
              <p>
            <span id="spryselect5">
            <label for="st_prefix">คำนำหน้าชื่อ</label>
            <select name="st_prefix" id="st_prefix">
             <option value="" selected>กรุณาเลือกคำนำหน้าชื่อ</option>
              <option value="เด็กชาย" >เด็กชาย</option>
               <option value="เด็กหญิง" >เด็กหญิง</option>
			   <option value="นาย" >นาย</option>
                <option value="นางสาว" >นางสาว</option>
            </select>
			   <span class="selectRequiredMsg">กรุณาเลือกคำนำหน้าชื่อ</span></span>
			<p>  
          <span id="sprytextfield2">
          <label for="st_name">ชื่อ</label>
          <input type="text" name="st_name" id="st_name"  />
          <span class="textfieldRequiredMsg">กรุณากรอกชื่อ</span></span> 
             <p>
               <span id="sprytextfield3">
               <label for="st_lastname">นามสกุล</label>
               <input type="text" name="st_lastname" id="st_lastname" />
               <span class="textfieldRequiredMsg">กรุณากรอกนามสกุล</span></span>
        
		    <p> <span id="spryradio1">
            <label>เพศ</label>
            <input type="radio" name="st_sex" value="1" id="sex_0" />
            ชาย
            <input type="radio" name="st_sex" value="2" id="sex_1" />
            หญิง <span class="radioRequiredMsg">กรุณาเลือกเพศ</span></span> </p>
  <p>
            <span id="sprytextfield6">
            <label for="st_birthdate">วันเกิด</label>
            <input type="text" name="st_birthdate" id="st_birthdate" />
            <span class="textfieldRequiredMsg">เลือกวันเกิด</span></span>
          <p>
                   <span id="spryselect2">
                   <label for="class_id">ชั้นมัธยมศึกษา</label>
                   <select name="class_id" id="class_id">
                     <option value="" selected>กรุณาเลือกระดับชั้นเรียน</option>
                   	<?php
					
						$sql = "select  *  from class    order   by class_name   ";  
							$dbquery = mysql_query( $sql);
			
							$num_rows = mysql_num_rows($dbquery);

							if($num_rows >0){
								$i=1;
							
							While  ($i <= $num_rows)	

								{	$result = mysql_fetch_array($dbquery);
									
									echo"<option value=$result[class_id] > $result[class_name] </option>";
							$i++;	}		
							}?>
							
							
                   </select>
                   <span class="selectRequiredMsg">กรุณาเลือกระดับชั้นเรียน</span></span>
			     <p>   
				 <span id="sprytextfield15">
                 <label for="st_room">ห้อง</label>
                 <input type="text" name="st_room" id="st_room" />ตัวอย่าง ถ้าเรียนอยู่ ม. 1/10  พิมพ์ 10 อย่างเดียว
                 <span class="textfieldRequiredMsg">กรุณากรอกห้อง</span><span class="textfieldInvalidFormatMsg">ห้องกรอกเฉพาะตัวเลข</span></span> 
     
    <p><span id="sprytextarea1">
            <label for="per_address">ที่อยู่</label>
            <textarea name="st_address" id="st_address" cols="45" rows="5" ></textarea>พิมพ์เฉพาะบ้านเลขที่ หมู่ที่ ซอย(ถ้ามี)            <span class="textareaRequiredMsg">กรุณากรอกที่อยู่</span></span>
         
          <p>
            <span id="spryselect1">
            <label for="province_id">จังหวัด</label>
            <select name="province_id" id="province_id">
             <option value="" selected>กรุณาเลือกจังหวัด</option>
            </select>
            <span class="selectRequiredMsg">กรุณาเลือกจังหวัด</span></span>
			 <p>
            <span id="spryselect4">
            <label for="amphur_id">อำเภอ</label>
            <select name="amphur_id" id="amphur_id">
             <option value="" selected>กรุณาเลือกอำเภอ</option>
            </select>
            <span class="selectRequiredMsg">กรุณาเลือกอำเภอ</span></span>
			 <p>
            <span id="spryselect3">
            <label for="district_id">ตำบล</label>
            <select name="district_id" id="district_id">
             <option value="" selected>กรุณาเลือกตำบล</option>
            
            </select>
            <span class="selectRequiredMsg">กรุณาเลือกตำบล</span></span>

	  <p>
                <span id="sprytextfield16">
                <label for="st_post">รหัสไปรษณีย์</label>
                <input type="text" name="st_post" id="st_post"  />
                <span class="textfieldRequiredMsg">กรุณากรอกรหัสไปรษณีย์</span><span class="textfieldInvalidFormatMsg">รหัสไปรษณีย์กรอกเฉพาะตัวเลข</span><span class="textfieldMinCharsMsg">รหัสไปรษณีย์ 5 ตัว</span><span class="textfieldMaxCharsMsg">รหัสไปรษณีย์ 5 ตัว</span></span>  
    <p>
              <span id="sprytextfield4">
              <label for="st_mail">อีเมลล์</label>
              <input type="text" name="st_mail" id="st_mail"  />
              ถ้าไม่มีอีเมลให้กรอก  [email protected]  แทน
              <span class="textfieldRequiredMsg">กรุณากรอกอีเมลล์</span><span class="textfieldInvalidFormatMsg">รูปแบบอีเมลล์ไม่ถูกต้อง</span></span>
         
<p>
                <span id="sprytextfield8">
                <label for="st_mobile">มือถือ</label>
                <input type="text" name="st_mobile" id="st_mobile"  />
                <span class="textfieldRequiredMsg">กรุณากรอกเบอร์มือถือ</span><span class="textfieldInvalidFormatMsg">กรุณากรอกเบอร์มือถือ์ให้ถูกต้อง</span></span>
          <p>
             
            <span id="sprytextfield9">
            <label for="father_name">ชื่อบิดา</label>
            <input type="text" name="father_name" id="father_name" />
            <span class="textfieldRequiredMsg">กรุณากรอกชื่อบิดา</span></span>
          <p>
            <span id="sprytextfield10">
            <label for="father_lastname">นามสกุลบิดา</label>
            <input type="text" name="father_lastname" id="father_lastname" />
            <span class="textfieldRequiredMsg">กรุณากรอกนามสกุลบิดา</span></span>
          <p>
            <span id="sprytextfield11">
            <label for="mother_name">ชื่อมารดา</label>
            <input type="text" name="mother_name" id="mother_name" />
            <span class="textfieldRequiredMsg">กรุณากรอกชื่อมารดา</span></span>
          <p>
            <span id="sprytextfield12">
            <label for="mother_lastname">นามสกุลมารดา</label>
            <input type="text" name="mother_lastname" id="mother_lastname" />
            <span class="textfieldRequiredMsg">กรุณากรอกนามสกุลมารดา</span></span>
          <p>
            <span id="sprytextfield13">
            <label for="parent_name">ชื่อผู้ปกครอง</label>
            <input type="text" name="parent_name" id="parent_name" />
            <span class="textfieldRequiredMsg">กรุณากรอกชื่อผู้ปกครอง</span></span>
              
          <p>
            <span id="sprytextfield14">
            <label for="parent_lastname">นามสกุลผู้ปกครอง</label>
            <input type="text" name="parent_lastname" id="parent_lastname" />
            <span class="textfieldRequiredMsg">กรุณากรอกนามสกุลผู้ปกครอง</span></span>
          <p>
          
                <span id="sprytextfield5">
                <label for="parent_mobile">มือถือผู้ปกครอง</label>
                <input type="text" name="parent_mobile" id="parent_mobile"  />
                <span class="textfieldRequiredMsg">กรุณากรอกเบอร์มือถือ</span><span class="textfieldInvalidFormatMsg">กรุณากรอกเบอร์มือถือ์ให้ถูกต้อง</span></span>
  <p>  
	
           <span id="sprytextfield18">
          <label for="showcaptcha">&nbsp;&nbsp; </label>
       <?php dsp_crypt(0,1); ?>
          <span class="textfieldRequiredMsg">กรุณากรอกตัวอักษรที่ท่านเห็น</span></span> 
   <p>
           <span id="sprytextfield17">
          <label for="captcha">กรอกตัวอักษร </label>
         <input type="text" name="captcha" id="captcha" />ตัวพิมพ์ใหญ่ทั้งหมด  ไม่ต้องเว้นวรรค
          <span class="textfieldRequiredMsg">กรุณากรอกตัวอักษรที่ท่านเห็นด้านล่าง</span></span> 
      <div class="form-actions">  
            <button type="submit" class="btn btn-primary">บันทึก</button>  
        
          </div>
        </fieldset>
      </form>

<script type="text/javascript">
var sprytextfield1 = new Spry.Widget.ValidationTextField("sprytextfield1", "integer", {minChars:5, maxChars:5, useCharacterMasking:true});
var sprytextfield2 = new Spry.Widget.ValidationTextField("sprytextfield2");
var spryradio1 = new Spry.Widget.ValidationRadio("spryradio1");
var sprytextarea1 = new Spry.Widget.ValidationTextarea("sprytextarea1");
var spryselect1 = new Spry.Widget.ValidationSelect("spryselect1");
var sprytextfield4 = new Spry.Widget.ValidationTextField("sprytextfield4", "email", {useCharacterMasking:true});
var sprytextfield8 = new Spry.Widget.ValidationTextField("sprytextfield5", "phone_number", {format:"phone_custom", pattern:"00-0000-0000", useCharacterMasking:true, hint:"xx-xxxx-xxxx"});
var spryselect1 = new Spry.Widget.ValidationSelect("spryselect1");
var spryselect2 = new Spry.Widget.ValidationSelect("spryselect2");
var spryselect3 = new Spry.Widget.ValidationSelect("spryselect3");
var spryselect4 = new Spry.Widget.ValidationSelect("spryselect4");
var spryselect5 = new Spry.Widget.ValidationSelect("spryselect5");
var sprytextfield3 = new Spry.Widget.ValidationTextField("sprytextfield3");
var sprytextfield6 = new Spry.Widget.ValidationTextField("sprytextfield6");
var sprytextfield8 = new Spry.Widget.ValidationTextField("sprytextfield8", "phone_number", {format:"phone_custom", pattern:"00-0000-0000", useCharacterMasking:true, hint:"xx-xxxx-xxxx"});
var sprytextfield9 = new Spry.Widget.ValidationTextField("sprytextfield9");
var sprytextfield10 = new Spry.Widget.ValidationTextField("sprytextfield10");
var sprytextfield11 = new Spry.Widget.ValidationTextField("sprytextfield11");
var sprytextfield12 = new Spry.Widget.ValidationTextField("sprytextfield12");
var sprytextfield13 = new Spry.Widget.ValidationTextField("sprytextfield13");
var sprytextfield14 = new Spry.Widget.ValidationTextField("sprytextfield14");
var sprytextfield15 = new Spry.Widget.ValidationTextField("sprytextfield15", "integer", {useCharacterMasking:true});
var sprytextfield16 = new Spry.Widget.ValidationTextField("sprytextfield16", "integer", {useCharacterMasking:true, minChars:5, maxChars:5});
var sprytextfield17 = new Spry.Widget.ValidationTextField("sprytextfield17");
</script>
<?php 
}elseif($_GET[action]=="insert"){  //เพิ่มข้อมูล

	// ถ้าป้อน captcha มาถูกต้อง 
	if (!chk_crypt($_POST['captcha'])){
 
			echo "<script>alert('ท่านป้อนอักษรที่เห็นไม่ถูกต้อง'); window.history.go(-1);</script>";
			exit;
	} 
  $sql = "SELECT st_id  FROM student  where st_id='".$_POST[st_id]."' "; 
					//echo $sql;exit;
					$result = mysql_query( $sql ) or die (mysql_error()); 

					$num =  mysql_num_rows ( $result ); 
					if ( $num != 0 ) 
						{ 
						
					echo "<script>alert('เลขประจำตัวนักเรียนนี้มีอยู่แล้ว'); window.history.go(-1);</script>";
					exit;	}

	if (empty($_POST['district_id'])){
			echo "<script>alert('ไม่ได้ระบุตำบล'); window.history.go(-1);</script>";
			exit;	
		}
		if (empty($_POST['amphur_id'])){
			echo "<script>alert('ไม่ได้ระบุอำเภอ'); window.history.go(-1);</script>";
			exit;	
		}
			if (empty($_POST['province_id'])){
			echo "<script>alert('ไม่ได้ระบุจังหวัด'); window.history.go(-1);</script>";
			exit;	
		}
			
list($begin_day,$begin_month,$begin_year) = explode("-",$_POST[st_birthdate]);
$st_password="$begin_day$begin_month$begin_year"; 
$begin_year=$begin_year-543;
$st_birthdate="$begin_year-$begin_month-$begin_day"; //กำหนดวันแบบ คศ


 mysql_query( $sql ) or die (mysql_error()); 
echo "<script>alert('บันทึกข้อมูลลงทะเบียนเรียบร้อยแล้ว  ขอบคุณนักเรียนทุกคนที่ให้ความร่วมมือ'); window.location.href ='index.php';</script>";	

 }elseif($_GET[action]=="delete"){  //ลบข้อมูล
 include "check_permission_teacher.php"; 
 $sql = "SELECT st_id  FROM punish  where st_id='".$_GET[st_id]."'"; 
					//echo $sql;exit;
					$result = mysql_query( $sql ) or die (mysql_error()); 

					$num =  mysql_num_rows ( $result ); 
					if ( $num != 0 ) 
						{ 
						
				echo "<script>alert('ลบข้อมูลไม่ได้ มีการนำข้อมูลไปใช้แล้ว');window.location.href ='?mname=admin&mfile=student_list&action=list';</script>";
					exit;	}

$sql = "delete from student  where st_id='".$_GET[st_id]."'"; 
//echo $sql;exit;
 mysql_query( $sql ) or die (mysql_error()); 
echo "<script>alert('ลบข้อมูลเรียบร้อยแล้ว'); window.location.href ='?mname=admin&mfile=student_list&action=list';</script>";	
 }elseif($_GET[action]=="edit"){  //แก้ไขข้อมูล

 include"check_permission_teacher.php";?>

<script type="text/javascript" src="js/jquery-1.3.2.js"></script>
  <script type="text/javascript" src="js/jquery-ui-1.7.2.custom.js"></script>
<link href="js/smoothness/jquery-ui-1.7.2.custom.css" rel="stylesheet" type="text/css"> 
<style type="text/css">
.ui-datepicker{  
    width:170px;  
    font-family:tahoma;  
    font-size:11px;  
    text-align:center;  
}  
</style>
  <script type="text/javascript">
$(function(){
	var dateBefore=null;
	$("#st_birthdate,").datepicker({
		dateFormat: 'dd-mm-yy',
		dayNamesMin: ['อา', 'จ', 'อ', 'พ', 'พฤ', 'ศ', 'ส'], 
		yearRange: '-60:+10',
		monthNamesShort: ['มกราคม','กุมภาพันธ์','มีนาคม','เมษายน','พฤษภาคม','มิถุนายน','กรกฎาคม','สิงหาคม','กันยายน','ตุลาคม','พฤศจิกายน','ธันวาคม'],
		changeMonth: true,
		changeYear: true ,
		beforeShow:function(){
			if($(this).val()!=""){
				var arrayDate=$(this).val().split("-");		
				arrayDate[2]=parseInt(arrayDate[2])-543;
				$(this).val(arrayDate[0]+"-"+arrayDate[1]+"-"+arrayDate[2]);
			}
			setTimeout(function(){
				$.each($(".ui-datepicker-year option"),function(j,k){
					var textYear=parseInt($(".ui-datepicker-year option").eq(j).val())+543;
					$(".ui-datepicker-year option").eq(j).text(textYear);
				});				
			},50);

		},
		onChangeMonthYear: function(){
			setTimeout(function(){
				$.each($(".ui-datepicker-year option"),function(j,k){
					var textYear=parseInt($(".ui-datepicker-year option").eq(j).val())+543;
					$(".ui-datepicker-year option").eq(j).text(textYear);
				});				
			},50);		
		},
		onClose:function(){
			if($(this).val()!="" && $(this).val()==dateBefore){			
				var arrayDate=dateBefore.split("-");
				arrayDate[2]=parseInt(arrayDate[2])+543;
				$(this).val(arrayDate[0]+"-"+arrayDate[1]+"-"+arrayDate[2]);	
			}		
		},
		onSelect: function(dateText, inst){ 
			dateBefore=$(this).val();
			var arrayDate=dateText.split("-");
			arrayDate[2]=parseInt(arrayDate[2])+543;
			$(this).val(arrayDate[0]+"-"+arrayDate[1]+"-"+arrayDate[2]);
		}

	});
	
});
</script>
<?php 	
					$sql="select *  from   student,class,district,amphur,province   where student.district_id=district.district_id   and student.amphur_id=amphur.amphur_id  and  student.province_id=province.province_id  and  student.class_id=class.class_id  and  st_id='".$_GET[st_id]."'";
//echo $sql;
					$db_query=mysql_query($sql);
					$result = mysql_fetch_array($db_query);
					 list($end_year,$end_month,$end_day) = explode("-",$result[st_birthdate]);
					$end_year=$end_year+543;
					$st_birthdate="$end_day-$end_month-$end_year"; //กำหนดวันแบบ พศ
					
			
					?>
<script type="text/javascript">
//<![CDATA[

var province_id = <?php echo isset($_POST['province_id']) ? intval($_POST['province_id']) : $result['province_id']; ?>;
var amphur_id = <?php echo isset($_POST['amphur_id']) ? intval($_POST['amphur_id']) : $result['amphur_id']; ?>;
var district_id = <?php echo isset($_POST['district_id']) ? intval($_POST['district_id']) : $result['district_id']; ?>;

function loadSelectBox(id,url,selected){
	$.get(
		url,{},function(data){
			$(id).html(data);
			if (selected!=0){
				$(id+' option[value='+selected+']').attr('selected','selected');
			}
		}
	);
}

$(function(){
	loadSelectBox(
			'#province_id',
			'geo_combo.php?load=province',
			province_id
	);
	loadSelectBox(
			'#amphur_id',
			'geo_combo.php?load=amphur&province_id='+province_id,
			amphur_id
	);
	loadSelectBox(
			'#district_id',
			'geo_combo.php?load=district&amphur_id='+amphur_id,
			district_id
	);
	$('#province_id').change(function(e){
		var selected = e.target.value;
		loadSelectBox(
			'#amphur_id',
			'geo_combo.php?load=amphur&province_id='+selected,
			0
		);
		$('#district_id :not(option:first)').remove(); //add
	});
	$('#amphur_id').change(function(e){
		var selected = e.target.value;
		loadSelectBox(
			'#district_id',
			'geo_combo.php?load=district&amphur_id='+selected,
			0
		);
	});
});
//]]>
</script>

      <form action="?mname=admin&mfile=student_list&action=update" method="post" enctype="multipart/form-data" name="frmperson" class="well  form-horizontal">
     <?php 	echo"<INPUT TYPE='hidden' NAME='st_id'  value='$result[st_id]'>";?>
        <fieldset>
          <legend>แก้ไขข้อมูลนักเรียน</legend>
          <span id="sprytextfield1">
          <label for="st_id">เลขประจำตัวนักเรียน</label>
          <?php  echo $result[st_id];?>
          <p>
            <span id="spryselect5">
            <label for="st_prefix">คำนำหน้าชื่อ</label>
            <select name="st_prefix" id="st_prefix">
              <option value="<?php  echo $result[st_prefix];?>" selected>    <?php  echo $result[st_prefix];?></option>
              <option value="เด็กชาย" >เด็กชาย</option>
               <option value="เด็กหญิง" >เด็กหญิง</option>
			   <option value="นาย" >นาย</option>
                <option value="นางสาว" >นางสาว</option>
            </select>
			   <span class="selectRequiredMsg">กรุณาเลือกคำนำหน้าชื่อ</span></span>
          <p>  
          <span id="sprytextfield2">
          <label for="st_name">ชื่อ</label>
          <input type="text" name="st_name" id="st_name" value="<?php  echo $result[st_name];?>" />
          <span class="textfieldRequiredMsg">กรุณากรอกชื่อ</span></span> 
            <p>
               <span id="sprytextfield3">
               <label for="st_lastname">นามสกุล</label>
               <input type="text" name="st_lastname" id="st_lastname" value="<?php  echo $result[st_lastname];?>" />
               <span class="textfieldRequiredMsg">กรุณากรอกนามสกุล</span></span>
          <p>
            <span id="sprytextfield6">
            <label for="st_birthdate">วันเกิด</label>
            <input type="text" name="st_birthdate" id="st_birthdate" value="<?php  echo $st_birthdate;?>" />
            <span class="textfieldRequiredMsg">เลือกวันเกิด</span></span>
              <p>
                   <span id="spryselect2">
                   <label for="class_id">ชั้นมัธยมศึกษา</label>
                   <select name="class_id" id="class_id">
                     <option value="<?php  echo $result[class_id];?>" selected><?php  echo $result[class_name];?></option>
                   	<?php
					
						$sql = "select  *  from class    order   by class_name   ";  
							$dbquery = mysql_query( $sql);
			
							$num_rows = mysql_num_rows($dbquery);

							if($num_rows >0){
								$i=1;
							
							While  ($i <= $num_rows)	

								{	$resultclass = mysql_fetch_array($dbquery);
									
									echo"<option value=$resultclass[class_id] > $resultclass[class_name] </option>";
							$i++;	}		
							}?>
							
							
                   </select>
                   <span class="selectRequiredMsg">กรุณาเลือกระดับการศึกษา</span></span>
				     <p>   
				 <span id="sprytextfield15">
                 <label for="st_room">ห้อง</label>
                 <input type="text" name="st_room" id="st_room"   value="<?php  echo $result[st_room];?>"/ />
                 <span class="textfieldRequiredMsg">กรุณากรอกห้อง</span><span class="textfieldInvalidFormatMsg">ห้องกรอกเฉพาะตัวเลข</span></span> 
     
          <p><span id="sprytextarea1">
            <label for="st_address">ที่อยู่</label>
            <textarea name="st_address" id="st_address" cols="45" rows="5" ><?php  echo $result[st_address];?></textarea>
            <span class="textareaRequiredMsg">กรุณากรอกที่อยู่</span></span>
         <p>
            <span id="spryselect1">
            <label for="province_id">จังหวัด</label>
            <select name="province_id" id="province_id">
            
            </select><?php // echo $result[PROVINCE_NAME];?>
            <span class="selectRequiredMsg">กรุณาเลือกจังหวัด</span></span>
			 <p>
            <span id="spryselect4">
            <label for="amphur_id">อำเภอ</label>
            <select name="amphur_id" id="amphur_id">
           
            </select><?php // echo $result[AMPHUR_NAME];?>
            <span class="selectRequiredMsg">กรุณาเลือกอำเภอ</span></span>
			 <p>
            <span id="spryselect3">
            <label for="district_id">ตำบล</label>
			     <select name="district_id" id="district_id">
       
           
            
            </select><?php // echo $result[DISTRICT_NAME];?>
            <span class="selectRequiredMsg">กรุณาเลือกตำบล</span></span>
				  <p>
                <span id="sprytextfield16">
                <label for="st_post">รหัสไปรษณีย์</label>
                <input type="text" name="st_post" id="st_post"  value="<?php  echo $result[st_post];?>"  />
                <span class="textfieldRequiredMsg">กรุณากรอกรหัสไปรษณีย์</span><span class="textfieldInvalidFormatMsg">รหัสไปรษณีย์กรอกเฉพาะตัวเลข</span><span class="textfieldMinCharsMsg">รหัสไปรษณีย์ 5 ตัว</span><span class="textfieldMaxCharsMsg">รหัสไปรษณีย์ 5 ตัว</span></span>  
<p>
              <span id="sprytextfield4">
              <label for="st_mail">อีเมลล์</label>
              <input type="text" name="st_mail" id="st_mail"  value="<?php  echo $result[st_mail];?>" />
              <span class="textfieldRequiredMsg">กรุณากรอกอีเมลล์</span><span class="textfieldInvalidFormatMsg">รูปแบบอีเมลล์ไม่ถูกต้อง</span></span>
              <p>
                <span id="sprytextfield8">
                <label for="parent_mobile">มือถือ</label>
                <input type="text" name="st_mobile" id="st_mobile" value="<?php  echo $result[st_mobile];?>"  />
                <span class="textfieldRequiredMsg">กรุณากรอกเบอร์มือถือ</span><span class="textfieldInvalidFormatMsg">กรุณากรอกเบอร์มือถือ์ให้ถูกต้อง</span></span>
             
   
           <p>
            <span id="sprytextfield9">
            <label for="father_name">ชื่อบิดา</label>
            <input type="text" name="father_name" id="father_name"  value="<?php  echo $result[father_name];?>"/>
            <span class="textfieldRequiredMsg">กรุณากรอกชื่อบิดา</span></span>
          <p>
            <span id="sprytextfield10">
            <label for="father_lastname">นามสกุลบิดา</label>
            <input type="text" name="father_lastname" id="father_lastname"  value="<?php  echo $result[father_lastname];?>" />
            <span class="textfieldRequiredMsg">กรุณากรอกนามสกุลบิดา</span></span>
          <p>
            <span id="sprytextfield11">
            <label for="mother_name">ชื่อมารดา</label>
            <input type="text" name="mother_name" id="mother_name"  value="<?php  echo $result[mother_name];?>"/>
            <span class="textfieldRequiredMsg">กรุณากรอกชื่อมารดา</span></span>
          <p>
            <span id="sprytextfield12">
            <label for="mother_lastname">นามสกุลมารดา</label>
            <input type="text" name="mother_lastname" id="mother_lastname" value="<?php  echo $result[mother_lastname];?>" />
            <span class="textfieldRequiredMsg">กรุณากรอกนามสกุลมารดา</span></span>
          <p>
            <span id="sprytextfield13">
            <label for="parent_name">ชื่อผู้ปกครอง</label>
            <input type="text" name="parent_name" id="parent_name"  value="<?php  echo $result[parent_name];?>"/>
            <span class="textfieldRequiredMsg">กรุณากรอกชื่อผู้ปกครอง</span></span>
              
          <p>
            <span id="sprytextfield14">
            <label for="parent_lastname">นามสกุลผู้ปกครอง</label>
            <input type="text" name="parent_lastname" id="parent_lastname"  value="<?php  echo $result[parent_lastname];?>"/>
            <span class="textfieldRequiredMsg">กรุณากรอกนามสกุลผู้ปกครอง</span></span>
			 <p>
                <span id="sprytextfield5">
                <label for="parent_mobile">มือถือผู้ปกครอง</label>
                <input type="text" name="parent_mobile" id="parent_mobile" value="<?php  echo $result[parent_mobile];?>"  />
                <span class="textfieldRequiredMsg">กรุณากรอกเบอร์มือถือ</span><span class="textfieldInvalidFormatMsg">กรุณากรอกเบอร์มือถือ์ให้ถูกต้อง</span></span>
          <div class="form-actions">  
            <button type="submit" class="btn btn-primary">บันทึก</button>  
        
          </div>
        </fieldset>
      </form>

<script type="text/javascript">

var sprytextfield2 = new Spry.Widget.ValidationTextField("sprytextfield2");
var sprytextarea1 = new Spry.Widget.ValidationTextarea("sprytextarea1");

var sprytextfield4 = new Spry.Widget.ValidationTextField("sprytextfield4", "email", {useCharacterMasking:true});
var sprytextfield8 = new Spry.Widget.ValidationTextField("sprytextfield5", "phone_number", {format:"phone_custom", pattern:"00-0000-0000", useCharacterMasking:true, hint:"08-3455-3456"});

var sprytextfield3 = new Spry.Widget.ValidationTextField("sprytextfield3");
var sprytextfield6 = new Spry.Widget.ValidationTextField("sprytextfield6");

var sprytextfield8 = new Spry.Widget.ValidationTextField("sprytextfield8", "phone_number", {format:"phone_custom", pattern:"00-0000-0000", useCharacterMasking:true, hint:"08-3455-3456"});
var sprytextfield9 = new Spry.Widget.ValidationTextField("sprytextfield9");
var sprytextfield10 = new Spry.Widget.ValidationTextField("sprytextfield10");
var sprytextfield11 = new Spry.Widget.ValidationTextField("sprytextfield11");
var sprytextfield12 = new Spry.Widget.ValidationTextField("sprytextfield12");
var sprytextfield13 = new Spry.Widget.ValidationTextField("sprytextfield13");
var sprytextfield14 = new Spry.Widget.ValidationTextField("sprytextfield14");
var sprytextfield15 = new Spry.Widget.ValidationTextField("sprytextfield15", "integer", {useCharacterMasking:true});
var sprytextfield16 = new Spry.Widget.ValidationTextField("sprytextfield16", "integer", {minChars:5, maxChars:5, useCharacterMasking:true});
</script>
<?php }
elseif($_GET[action]=="update"){  //อัพเดทข้อมูล
 include "check_permission_teacher.php"; 
list($begin_day,$begin_month,$begin_year) = explode("-",$_POST[st_birthdate]);
$st_password="$begin_day$begin_month$begin_year"; 
$begin_year=$begin_year-543;
$st_birthdate="$begin_year-$begin_month-$begin_day"; //กำหนดวันแบบ คศ
	if ((empty($_POST['district_id']))and(empty($_POST['amphur_id'])) and (empty($_POST['province_id']))) {


//echo $sql;exit;
 mysql_query( $sql ) or die (mysql_error()); 
echo "<script>alert('แก้ไขข้อมูลเรียบร้อยแล้ว'); window.location.href ='?mname=admin&mfile=student_list&action=list';</script>";	
}elseif($_GET[action]=="detail"){  //แสดงรายละเอียดข้อมูล
 include"check_permission_teacher.php";

					$sql="select *  from   student,class,district,amphur,province   where student.district_id=district.district_id   and student.amphur_id=amphur.amphur_id  and  student.province_id=province.province_id  and  student.class_id=class.class_id  and  st_id='".$_GET[st_id]."'";
					$db_query=mysql_query($sql);
					$result = mysql_fetch_array($db_query);
					
?>
      <form action="" method="get">  <fieldset>
          <legend>ข้อมูลนักเรียน</legend>
         
          <label for="st_id">เลขประจำตัวนักเรียน</label>
     
          <?php  echo $result[st_id];?>
         
          <p>  
         
          <label for="st_name">ชื่อ-นามสกุล</label>
         <?php  echo "$result[st_prefix]$result[st_name]  $result[st_lastname]";?>
		    <p>
                 
                   <label for="class_id">ชั้นมัธยมศึกษา</label>
                   <?php  echo "$result[class_name]/$result[st_room]";?>
          <p>
            <label for="st_address">ที่อยู่</label>
           <?php  echo $result[st_address];?>
          <p>          
       <label for="st_province">ตำบล</label>
           <?php  echo $result[DISTRICT_NAME];?>
        <p>
            <label for="st_address">อำเภอ</label>
           <?php  echo $result[AMPHUR_NAME];?>
          <p>          
      
           
            <label for="st_province">จังหวัด</label>
           <?php echo $result[PROVINCE_NAME];?>
        <p>
			<label for="st_province">รหัสไปรษรณีย์</label>
           <?php  echo $result[st_post];?>
           <p>    
              <label for="st_mail">อีเมลล์</label>
              <?php  echo $result[st_mail];?>
              <p>
                 <label for="st_phone">มือถือ</label>
               <?php  echo $result[st_mobile];?>
                 <p>
            
                <label for="st_phone">ชื่อ-นามสกุลบิดา</label>
               <?php  echo "$result[father_name]  $result[father_lastname]";?>
                <p>
                <label for="st_phone">ชื่อ-นามสกุลมารดา</label>
              <?php  echo "$result[mother_name]  $result[mother_lastname]";?>
                <p>
                <label for="st_phone">ชื่อ-นามสกุลผู้ปกครอง</label>
               <?php  echo "$result[parent_name]  $result[parent_lastname]";?>
                     <p>
					 <label for="parent_mobile">มือถือผู้ปกครอง</label>
               <?php  echo $result[parent_mobile];?>
           
        </fieldset></form>

  <?php 
  }elseif($_GET[action]=="confirmregister"){  //ฟอร์มตรวจสอบการลงทะเบียน

 ?>


      <form action="?mname=admin&mfile=student_list&action=checkregister" method="post" enctype="multipart/form-data" name="frmstudent">
        <fieldset>
          <legend>ตรวจสอบการลงทะเบียน กรุณากรอกเลขประจำตัวนักเรียนที่ต้องการตรวจสอบ</legend>
          <span id="sprytextfield1">
          <label for="st_id">เลขประจำตัวนักเรียน</label>
          <input type="text" name="st_id" id="st_id" />
          <span class="textfieldRequiredMsg">กรุณากรอกเลขประจำตัวนักเรียน</span><span class="textfieldInvalidFormatMsg">กรอกเฉพาะตัวเลข</span><span class="textfieldMinCharsMsg">เลขประจำตัวนักเรียน 5 หลัก </span><span class="textfieldMaxCharsMsg">เลขประจำตัวนักเรียน 5 หลัก </span></span> 
       
  <p>  
	
           <span id="sprytextfield18">
          <label for="showcaptcha">&nbsp;&nbsp; </label>
       <?php dsp_crypt(0,1); ?>
          <span class="textfieldRequiredMsg">กรุณากรอกตัวอักษรที่ท่านเห็น</span></span> 
   <p>
           <span id="sprytextfield17">
          <label for="captcha">กรอกตัวอักษร </label>
         <input type="text" name="captcha" id="captcha" />ตัวพิมพ์ใหญ่ทั้งหมด  ไม่ต้องเว้นวรรค
          <span class="textfieldRequiredMsg">กรุณากรอกตัวอักษรที่ท่านเห็นด้านล่าง</span></span> 
        
        <div class="form-actions">  
            <button type="submit" class="btn btn-primary">ตรวจสอบ</button>  
        
          </div>
        </fieldset>
      </form>

<script type="text/javascript">
var sprytextfield1 = new Spry.Widget.ValidationTextField("sprytextfield1", "integer", {minChars:5, maxChars:5, useCharacterMasking:true});

var sprytextfield17 = new Spry.Widget.ValidationTextField("sprytextfield17");
</script>
<?php 
}elseif($_GET[action]=="checkregister"){  //ตรวจสอบการลงทะเบียน

	// ถ้าป้อน captcha มาถูกต้อง 
	if (!chk_crypt($_POST['captcha'])){
 
			echo "<script>alert('ท่านป้อนอักษรที่เห็นไม่ถูกต้อง'); window.history.go(-1);</script>";
			exit;
	} 
  $sql = "SELECT st_id  FROM student  where st_id='".$_POST[st_id]."' "; 
					//echo $sql;exit;
					$dbquery = mysql_query( $sql ) or die (mysql_error()); 

					$num =  mysql_num_rows ( $dbquery ); 
					if ( $num >0 ) 
						{ 
			echo "<script>alert('คุณได้ทำการลงทะเบียนแล้วสามารถเข้าใช้งานได้เลยครับ'); window.location.href ='?mname=admin&mfile=login_form';</script>";				
						}else{
						
		echo "<script>alert(' นักเรียนรหัส $_POST[st_id]  ยังไม่มีการลงทะเบียน กรุณาลงทะเบียนก่อนใช้งาน'); window.location.href ='?mname=admin&mfile=student_list&action=form';</script>";	
					exit;			
						
						}

	
 }?>

Date : 2020-03-20 09:26:16 By : ajsudkedt
 


 

No. 22



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



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





ประวัติการแก้ไข
2020-03-20 09:30:47
Date : 2020-03-20 09:27:07 By : ajsudkedt
 


 

No. 23



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



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


code นี้จากไฟล์ชื่อ student_list ครับ
Date : 2020-03-20 09:28:17 By : ajsudkedt
 


 

No. 24



โพสกระทู้ ( 4,720 )
บทความ ( 8 )



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


การอัพเดทรหัสผ่านด้วยตนเอง ก็ตอนเข้าหน้า login และกรอก username login ปกติ ให้ตรวจว่าช่องรหัสผ่านมันว่างเปล่าหรือไม่
ถ้าว่างเปล่าก็ให้ redirect ไปหน้าพิเศษ คือหน้านั้นกรอกแค่อีเมลให้ตรงแล้ว submit แล้วสร้างรหัสผ่านส่งไปให้นร.ทางอีเมล
แล้ว redirect กลับมาหน้า login เดิม

นร.ก็ให้เขาเปิดอีเมลเช็คว่าได้รหัสผ่านใหม่ที่สุ่มสร้างขึ้นมาว่าอะไร ก็ก๊อปอันนั้นใช้ login
พอ login สำเร็จก็มีเมนูให้เขาเข้าไปเปลี่ยนรหัสผ่านโดยตั้งเอาเองได้ หรือจะทนใช้อันที่สุ่มสร้างขึ้นมาอันนั้นต่อไปก็ได้.

หลักการลืมรหัสผ่านที่เห็นใช้งานทั่วไป
หน้า login มี link ลืมรหัสผ่าน
เข้าหน้าลืมรหัสผ่าน กรอก identity สักอย่างเช่น username หรือ email
ตรวจตรงแล้วก็สุ่มสร้างรหัสผ่านใหม่ส่งไปทางอีเมล
ผู้ใช้ได้รับอีเมลแล้วเอารหัสผ่านใหม่มา login ขั้นตอนเหมือนข้างบน.

เพิ่มเติมความปลอดภัย คืออาจใช้เวลาให้ login ด้วยรหัสผ่านใหม่ภายในกี่นาทีอะไรงี้ ถ้าไม่ทันก็ลบและก็กลับไปใช้รหัสผ่านเก่า อาจะต้องเพิ่ม field temp password แล้วแต่จะออกแบบ.


ประวัติการแก้ไข
2020-03-20 09:56:23
Date : 2020-03-20 09:49:54 By : mr.v
 


 

No. 25



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



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


หากจะลบคำสั่งใน code ให้ไม่ต้องใช้การเข้ารหัส MD5 ในคอลัมน์ Password ให้เปลี่ยนไปเป็นรหัสธรรมดาที่ admin นำเข้าไปวางในคอลัมน์ Password ใน ตาราง mySQLโดยตรงเลย จะได้ไหมครับ
Date : 2020-03-20 13:00:12 By : ajsudkedt
 


 

No. 26



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



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


Code (PHP)
<?php
	if (eregi("login_form.php",(basename($_SERVER['PHP_SELF'])))) {
  	echo"<META HTTP-EQUIV='Refresh' CONTENT='0;URL=../../index.php'>";
    die();
}?>
      <form action="?mname=admin&mfile=check_login" method="post" enctype="multipart/form-data" name="frmform">
        <fieldset>
          <legend>เข้าสู่ระบบ</legend>
        
            <span id="spryradio1">
            <label for="user_permission"></label>
          
     <input type="radio" name="permission" value="1" id="permission_0" />
              นักเรียน 
       
            
              <input type="radio" name="permission" value="2" id="permission_1" />
            บุคลากร
           
          
              <input type="radio" name="permission" value="3" id="permission_2"   />
              ผู้ดูแลระบบ
           
            <span class="radioRequiredMsg">กรุณาเลือกสิทธิ์การใช้งาน</span></span> 
                <p>
            <span id="sprytextfield1">
          <label for="user_name">ชื่อผู้ใช้</label>
          <input type="text" name="user_name" id="user_name"   />
          <span class="textfieldRequiredMsg">กรุณากรอกชื่อผู้ใช้</span></span> 
          <p>
           <span id="sprytextfield2">
          <label for="user_password">รหัสผ่าน</label>
          <input type="password" name="user_password" id="user_password"   />
          <span class="textfieldRequiredMsg">กรุณากรอกรหัสผ่าน</span></span> 
          <p>   
		  
           <span id="sprytextfield4">
          <label for="showcaptcha">&nbsp;&nbsp; </label>
       <?php dsp_crypt(0,1); ?>
          <span class="textfieldRequiredMsg">กรุณากรอกตัวอักษรที่ท่านเห็น</span></span> 
          <p>  

           <span id="sprytextfield3">
          <label for="captcha">กรอกตัวอักษร </label>
         <input type="text" name="captcha" id="captcha" />
          <span class="textfieldRequiredMsg">กรุณากรอกตัวอักษรที่ท่านเห็น</span></span> 
  <div class="form-actions">  
            <button type="submit" class="btn btn-primary">เข้าสู่ระบบ</button>  
        
          </div>
        </fieldset>
      </form>


<script type="text/javascript">
var sprytextfield1 = new Spry.Widget.ValidationTextField("sprytextfield1");
var sprytextfield2 = new Spry.Widget.ValidationTextField("sprytextfield2");
var sprytextfield3 = new Spry.Widget.ValidationTextField("sprytextfield3");
var spryradio1 = new Spry.Widget.ValidationRadio("spryradio1");
</script>


Date : 2020-03-20 13:57:41 By : ajsudkedt
 


 

No. 27



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



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


code นี้จากไฟล์ชื่อ login_form ครับ
Date : 2020-03-20 13:58:34 By : ajsudkedt
 


 

No. 28



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



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


เอาโค๊ดฝั่ง server เพื่อใช้ login มาดูด้วยครับ
Date : 2020-03-20 15:06:51 By : Chaidhanan
 


 

No. 29



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



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


โค๊ดฝั่ง server หมายถึง code ตัวไหนครับ
Date : 2020-03-20 15:14:50 By : ajsudkedt
 


 

No. 30



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



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


Code (PHP)
<?php
if (eregi("configuration.php",(basename($_SERVER['PHP_SELF'])))) {
	echo"<META HTTP-EQUIV='Refresh' CONTENT='0;URL=../index.php'>";
    die();
}

//MIS Config

//MySQL Connect
define("MIS_HOSTNAME","localhost");
define("MIS_DBNAME","behavior");
define("MIS_DBUSERNAME","root");
define("MIS_DBPASSWORD","88888888");

//Ganeral Config
define("MIS_NAME","MIS School");
//24-7-56  create vertion 2
define("MIS_VERSION","MIS SCHOOL  VERSION 2.0");
define("MIS_TITLE","โรงเรียนxxxx");
define("MIS_DESCRIPTION","infomation system school");
define("MIS_URL","http:127.0.0.1/xxxx/") ;
define("MIS_PATH","/var/www/xxxx/") ;
define("MIS_ROOTFOLDER","xxxx") ;
define("MIS_FOOTER1","Copyright © 2020 ระบบบันทึกคะแนนพฤติกรรมโรงเรียนxxxx") ;
define("MIS_FOOTER2","xxxx") ;

//ผู้พัฒนา หากนำไปใช้ต่อกรุณาให้เครดิตผู้พัฒนาด้วยนะครับ  ขอบคุณครับ
define("MIS_DEVELOPER","xxxxx");
define("MIS_DEVELOPER_EMAIL","xxxx") ;
define("MIS_DEVELOPER_TEL","xxxx") ;


//config sms  สำหรับส่ง sms  หาผู้ปกครอง
define("SMS_SERVER","http://ip");
define("SMS_USER","xxxxx");
define("SMS_PASSWORD","xxxxx");


Date : 2020-03-20 15:16:07 By : ajsudkedt
 


 

No. 31



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



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


configulation ตัวนี้ไหมครับ ไม่แน่ใจ
Date : 2020-03-20 15:16:57 By : ajsudkedt
 


 

No. 32



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



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


โค๊ดที่พอคุณ กด submit แล้ว link มันวิ่งไปที่โปรแกรมตัวนี้ เพื่อตรวจสอบข้อมูล การ login ครับ
Date : 2020-03-20 15:29:48 By : Chaidhanan
 


 

No. 33



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



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


น่าจะเป็น code จาก ไฟล์ชื่อ student_list
code แรกยาว ๆ ที่ผม code ไหมครับ

เป็น code ที่ใช้บันทึกข้อมูลนักเรียนครับ


ประวัติการแก้ไข
2020-03-20 16:24:40
Date : 2020-03-20 16:22:52 By : ajsudkedt
 


 

No. 34



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



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


Insert mysql error

หลังจากกรอกข้อมูลนักเรียนตามเมนูในโปรแกรม แล้วกดปุ่ม บันทึก โปรแกรมจะแจ้งแบบนี้ ตามภาพครับ
Date : 2020-03-20 16:33:14 By : ajsudkedt
 


 

No. 35



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



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


ผมไม่ต้องการการบันทึก
ผมต้องการ เวลานักเรียน login เข้าระบบ
มันเอา user_name และ password ไปตรวจสอบกับ database ยังไงจะได้ช่วยแก้ตรงนั้น
และจะได้บอก วิธีแก้ไข field ที่เข้ารหัส password ให้ คือผมช่วยแนะนำให้ได้ บอกตรงไหนผิดผลาด ควรจะแก้ยังไง
แต่ผมไม่แก้โค๊ดให้ เพราะแก้ให้คนถามก็ไม่รู้ว่าขั้นตอนมันเป็นยังไง
ถ้าแก้แบบนั้น ผมคิดเงิน เพราะผู้รับไม่ได้ประโยชน์ เดี๋ยวก็กลับมาถามอีก เหนื่อยฟรี

และถ้าคนถามไม่รู้ว่าโปรแกรมมันอยู่ขั้นตอนไหน ก็แสดงว่าก๊อปปี้งานเขามาแปะโดยที่ไม่รู้ว่าขั้นตอนมันคืออะไร
ไม่มี อัลกอลิธึม ไม่มี flow control ในการทำงาน
ถ้าไม่อยากให้ โรงเรียนเสียเงิน ก็ต้องศึกาาพื้นฐานทำความเข้าใจกับโปรแกรมให้มากๆ
ต้องรู้ขั้นตอนการทำงาน

และเขียนเข้าไปได้ยังไง 1000 กว่าบันทัด ควรจะแยกไฟล์ ออกเป็น ส่วน แล้วใช้การ include
และวิธีการ include ก็ต้องศึกษาให้ดี กำหนดเป็น ตัวแปร ในการ include
เวลาโหลดโปรแกรม จะได้ไม่ต้องโหลดมาทั้งหมด เสียเวลา เสียหน่วยความจำ
ใช้เฉพาะส่วน งานเล็กๆ น้อย แต่โหลดมาทั้งระบบ มันขี่ช้างจับตั๊กแตน แค่ login ใช้ตั้ง 1000 บันทัดมันไม่ใช่แล้วครับ
Date : 2020-03-20 17:40:19 By : Chaidhanan
 


 

No. 36



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



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


<form action="?mname=admin&mfile=check_login" method="post" ลิงค์นี้มันอยู่ที่ไหน
Date : 2020-03-20 17:44:14 By : Chaidhanan
 


 

No. 37



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



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


Code (PHP)
<?php
if (eregi("check_login.php",(basename($_SERVER['PHP_SELF'])))) {
	echo"<META HTTP-EQUIV='Refresh' CONTENT='0;URL=../../index.php'>";
    die();
}

if (isset($_POST[user_name]) and isset($_POST[user_password])) 
{ 
			// ถ้าป้อน captcha มาถูกต้อง 
	if (!chk_crypt($_POST['captcha'])){
 
			echo "<script>alert('ท่านป้อนอักษรที่เห็นไม่ถูกต้อง'); window.history.go(-1);</script>";
			exit;
	} 


			if($_POST[permission]==1){

$sqlusername =sprintf( "SELECT * FROM student   where st_id='%s' ",mysql_real_escape_string($_POST[user_name])); 
				//echo $sql;exit;
$dbqueryusername = mysql_query($sqlusername) or die (mysql_error()); 

$num_rowsusername =  mysql_num_rows ($dbqueryusername ); 
if ( $num_rowsusername ==0 )
	{ 	echo "<script>alert('ไม่มีชื่อผู้ใช้นี้'); window.history.go(-1);</script>";
	}else{
					$sql =sprintf( "SELECT * FROM student   where st_id='%s' and st_password='%s'",mysql_real_escape_string($_POST[user_name]),mysql_real_escape_string(md5($_POST[user_password])) ); 
				//echo $sql;exit;
				
					$dbquery = mysql_query($sql) or die (mysql_error()); 

					$num_rows =  mysql_num_rows ($dbquery ); 
					if ( $num_rows >0 ) 
						{ 
						$result=mysql_fetch_array($dbquery);
						
						$_SESSION["userid_check"]=$result[st_id];
						$_SESSION["username_check"]="$result[st_prefix]$result[st_name]    $result[st_lastname]";
						$_SESSION["userstatus_check"]="student";
						//ใช้สำหรับการจองชุมนุม
						$_SESSION["userclass_check"]=$result[class_id];//มไหน

						if(($result[class_id]>=1)and($result[class_id]<=3)){ //ระดับไหน
						$_SESSION["userlevel_check"]='lower';
						}elseif(($result[class_id]>=4)and($result[class_id]<=6)){
						$_SESSION["userlevel_check"]='high';
						}

						if($result[st_sex]==1){ //เพศ
						$_SESSION["usersex_check"]=1;
						}elseif($result[st_sex]==2){
						$_SESSION["usersex_check"]=2;

						}
						//จบการจองชุมนุม
				
						echo"	<meta http-equiv=\"refresh\" content=\"0;url=?mname=admin&mfile=main\">";
						} else 	{ 	
							echo "<script>alert('รหัสผ่านไม่ถูกต้อง'); window.history.go(-1);</script>";

						}
	}//จบ

			}elseif($_POST[permission]==2){
$sqlusername =sprintf( "SELECT * FROM person   where per_user='%s' ",mysql_real_escape_string($_POST[user_name])); 
				//echo $sql;exit;
$dbqueryusername = mysql_query($sqlusername) or die (mysql_error()); 

$num_rowsusername =  mysql_num_rows ($dbqueryusername ); 
if ( $num_rowsusername ==0 )
	{ 	echo "<script>alert('ไม่มีชื่อผู้ใช้นี้'); window.history.go(-1);</script>";
	}else{
						$sql =sprintf( "SELECT * FROM person   where per_user='%s'  and per_password='%s'",mysql_real_escape_string($_POST[user_name]),mysql_real_escape_string(md5($_POST[user_password])) ); 
				
				//echo $sql;exit;
			
					$dbquery = mysql_query($sql) or die (mysql_error()); 
				

					$num_rows =  mysql_num_rows ($dbquery ); 
					if ( $num_rows >0 ) 
						{ 
						$result=mysql_fetch_array($dbquery);
						
						$_SESSION["userid_check"]=$result[per_card];
						$_SESSION["username_check"]="$result[per_prefix]$result[per_name]    $result[per_lastname]";

						if($result[per_status]==1){$_SESSION["userstatus_check"]="teacher";}
						elseif($result[per_status]==2){$_SESSION["userstatus_check"]="manager";}
					
				
						echo"	<meta http-equiv=\"refresh\" content=\"0;url=?mname=admin&mfile=main\">";
						} else 	{ 	
							echo "<script>alert('รหัสผ่านไม่ถูกต้อง'); window.history.go(-1);</script>";

						}
	}
			}elseif($_POST[permission]==3){
$sqlusername =sprintf( "SELECT * FROM admin   where admin_user='%s' ",mysql_real_escape_string($_POST[user_name])); 
				//echo $sql;exit;
$dbqueryusername = mysql_query($sqlusername) or die (mysql_error()); 

$num_rowsusername =  mysql_num_rows ($dbqueryusername ); 
if ( $num_rowsusername ==0 )
	{ 	echo "<script>alert('ไม่มีชื่อผู้ใช้นี้'); window.history.go(-1);</script>";
	}else{
				$sql =sprintf( "SELECT * FROM admin   where  admin_user='%s'  and admin_password='%s'",mysql_real_escape_string($_POST[user_name]),mysql_real_escape_string(md5($_POST[user_password])) ); 

				//echo $sql;exit;
			
					$dbquery = mysql_query($sql) or die (mysql_error()); 

					$num_rows =  mysql_num_rows ($dbquery ); 
					if ( $num_rows >0 ) 
						{ 
						$result=mysql_fetch_array($dbquery);
						
						$_SESSION["userid_check"]=$result[admin_user];
						$_SESSION["username_check"]=$result[admin_name];
						$_SESSION["userstatus_check"]="admin";

						echo"	<meta http-equiv=\"refresh\" content=\"0;url=?mname=admin&mfile=main\">";
						} else 	{ 	
							echo "<script>alert('รหัสผ่านไม่ถูกต้อง'); window.history.go(-1);</script>";

						}

			}
	}		
		
		}else{
				echo "<script>alert('กรุณาล็อกอินก่อน');window.location.href ='index.php'; </script>";
	}
			?>


Date : 2020-03-20 19:10:42 By : ajsudkedt
 


 

No. 38



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



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


อยู่ไฟล์นี้ไหมครับ
ชื่อไฟล์ว่า check_login
Date : 2020-03-20 19:11:18 By : ajsudkedt
 


 

No. 39



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



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


ใช้ php version ไหนครับเนี่ย ทำไมยังใช้ mysql รุ่นเก่าอยู่อีก php รุ่นใหม่ เขาไม่ใช้กันแล้ว
เครื่องไม้เครื่องไม้เครื่องมือในการป้องกันการ hack ก็มีน้อย

Code (PHP)
<?php
if($_POST[permission]==1){
	// จะคิวรี่อะไรหลายหน ครั้งเดียวก็พอแล้ว
	//$sqlusername =sprintf( "SELECT * FROM student where st_id='%s' ",mysql_real_escape_string($_POST[user_name])); 
				//echo $sql;exit;
	//$dbqueryusername = mysql_query($sqlusername) or die (mysql_error()); 

	//$num_rowsusername =  mysql_num_rows ($dbqueryusername ); 
	//if ( $num_rowsusername ==0 )
	$sql =sprintf( "SELECT * FROM student where st_id='%s' and st_password='%s'",
		mysql_real_escape_string($_POST[user_name]),
		md5($_POST[user_password]) // md5 มัน escape อยู่แล้ว ไม่ต้องเพิ่ม escape อีก
	); 
	//echo $sql;exit;
	$dbquery = mysql_query($sql) or die (mysql_error());
	$num_rows =  mysql_num_rows ($dbquery );
	if ( $num_rows >0 ){
		$result=mysql_fetch_array($dbquery);
		$_SESSION["userid_check"]=$result[st_id];
		$_SESSION["username_check"]="$result[st_prefix]$result[st_name] $result[st_lastname]";
		$_SESSION["userstatus_check"]="student";
		//ใช้สำหรับการจองชุมนุม
		$_SESSION["userclass_check"]=$result[class_id];//มไหน
		if(($result[class_id]>=1)and($result[class_id]<=3)){ //ระดับไหน
			$_SESSION["userlevel_check"]='lower';
		}elseif(($result[class_id]>=4)and($result[class_id]<=6)){
			$_SESSION["userlevel_check"]='high';
		}
		if($result[st_sex]==1){ //เพศ
			$_SESSION["usersex_check"]=1;
		}elseif($result[st_sex]==2){
			$_SESSION["usersex_check"]=2;
		}
		//จบการจองชุมนุม
	
		echo"	<meta http-equiv=\"refresh\" content=\"0;url=?mname=admin&mfile=main\">";
		// แล้วทำไม redirect mname เป็น admin ไม่ควรจะมาเกี่ยวกับ user ธรรมดา
	} else 	{ 	
		echo "<script>alert('รหัสผ่านไม่ถูกต้อง'); window.history.go(-1);</script>";
	}
}//จบ

flow control ไม่มีปัญหาอะไร
แต่มีปัญหาเรือ่ง การใช้ไวยกรณ์ รุ่นเก่า ใช้ mysql รุ่นเก่า
ตัวแปร กับ constant ตีกันมั่วไปหมด ถ้าย้ายขึ้น php version ใหม่ แก้กันอีกบาน

$_SESSION["usersex_check"]=2; ถูกต้อง
$_POST[user_name] เตือน ไม่มีควอทครอบ

และสิ่งที่ขอไปแต่ต้น ตัวอย่างข้อมูล ซัก 2-3 record พร้อมทั้ง structure ของตารางด้วยครับ
Date : 2020-03-20 20:29:09 By : Chaidhanan
 


 

No. 40



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



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


หมายถึงไฟล์ฐานข้อมูล sql ใช่ไหมครับ
ผมหายที่แนบไฟล์ใน forum นี้ไม่เจอ
รบกวน mail หาผมได้ไหม
ผมจะส่งให้ทาง mail ครับ
[email protected]
ขอบคุณครับ
Date : 2020-03-21 09:29:04 By : ajsudkedt
 


 

No. 41



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



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


capture หน้าจอ และ ครอปเอา บางส่วนมาก็ได้ครับ ให้เห็นโครงสร้างของ ตาราง
และ ตัวอย่าง record ซัก 2-3 record ก็พอ
Date : 2020-03-21 10:15:50 By : Chaidhanan
 


 

No. 42



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



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


md5-1
md5-2
md-3
md3-4
m4
md6
Date : 2020-03-21 11:27:49 By : ajsudkedt
 


 

No. 43



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



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


บันทึกข้อมูลในเมนูโปรแกรม ไหนครับ เอา ไฟล์ php มาดูหน่อยครับ เพื่อจะ สร้าง password ได้ง่ายๆ


ประวัติการแก้ไข
2020-03-21 13:15:12
Date : 2020-03-21 13:14:29 By : Chaidhanan
 


 

No. 44



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



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


หมายถึงไฟล์ sql ใช่ไหมครับ ให้ผมส่งให้ทางไหนดีครับ


ประวัติการแก้ไข
2020-03-21 14:05:12
Date : 2020-03-21 14:02:49 By : ajsudkedt
 


 

No. 45



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



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


รูปสุดท่้าย ความเห็น 42 สีส้ม มันคือโปรแกรมอะไรครับ ที่มันสร้าง md5 password
Date : 2020-03-21 14:18:25 By : Chaidhanan
 


 

No. 46



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



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


รหัสตรงกรอบแดงในภาพ ความเห็น 42 จะถูกสร้างขึ้น
ในกรณีที่เราเข้ากรอกข้อมูลนักเรียนตามเมนูในโปรแกรม แล้วคลิกปุ่ม บันทึก ครับ
Date : 2020-03-21 16:33:08 By : ajsudkedt
 


 

No. 47



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



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


md5-7
Date : 2020-03-21 16:36:34 By : ajsudkedt
 


 

No. 48



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



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


จาก โค๊ดที่ให้มา จากหน้า form action ผมไม่เห็นส่วนที่ สร้าง statement insert มันอยู่ไหนครับ
Code (PHP)
}elseif($_GET[action]=="insert"){  //เพิ่มข้อมูล
	// ถ้าป้อน captcha มาถูกต้อง 
	if (!chk_crypt($_POST['captcha'])){
		echo "<script>alert('ท่านป้อนอักษรที่เห็นไม่ถูกต้อง'); window.history.go(-1);</script>";
		exit;
	} 
  $sql = "SELECT st_id FROM student where st_id='".$_POST[st_id]."' "; 
	//echo $sql;exit;
	$result = mysql_query( $sql ) or die (mysql_error()); 
	$num =  mysql_num_rows ( $result ); 
	if ( $num != 0 ){ 		
		echo "<script>alert('เลขประจำตัวนักเรียนนี้มีอยู่แล้ว'); window.history.go(-1);</script>";
		exit;	
	}
	if (empty($_POST['district_id'])){
		echo "<script>alert('ไม่ได้ระบุตำบล'); window.history.go(-1);</script>";
		exit;	
	}
	if (empty($_POST['amphur_id'])){
		echo "<script>alert('ไม่ได้ระบุอำเภอ'); window.history.go(-1);</script>";
		exit;	
	}
	if (empty($_POST['province_id'])){
		echo "<script>alert('ไม่ได้ระบุจังหวัด'); window.history.go(-1);</script>";
		exit;	
	}			
	list($begin_day,$begin_month,$begin_year) = explode("-",$_POST[st_birthdate]);
	$st_password="$begin_day$begin_month$begin_year"; 
	$begin_year=$begin_year-543;
	$st_birthdate="$begin_year-$begin_month-$begin_day"; //กำหนดวันแบบ คศ
//-------------------------------
// มีคำสั่งคิวรี่ แล้ว ชุดที่สร้าง sql statement มันอยู่ที่ไหน
//-------------------------------
	mysql_query( $sql ) or die (mysql_error()); 
	echo "<script>alert('บันทึกข้อมูลลงทะเบียนเรียบร้อยแล้ว  ขอบคุณนักเรียนทุกคนที่ให้ความร่วมมือ'); window.location.href ='index.php';</script>";	
}


และจาก ฟอร์ม อันไหนคือ พาสเวิร์ดที่ต้องส่งให้เด็ก


ประวัติการแก้ไข
2020-03-21 17:04:55
2020-03-21 17:06:31
Date : 2020-03-21 17:03:02 By : Chaidhanan
 


 

No. 49



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



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


ผมไม่ทราบเลยครับ
มันมีหลายไฟล์
เราพอจะตั้งข้อสังเกตได้ไหมครับ
น่าจะเป็นไฟล์ประมาณว่าชื่อว่าอะไรครับ
Date : 2020-03-21 20:37:58 By : ajsudkedt
 


 

No. 50



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



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


งั้นก็ขอโทษนะครับ ถ้าตามบทเรียนไม่ได้ ก็คงต้องไปเริ่มเรียน กขค ปู้พื้นฐานมาก่อน
เริ่มจากนี่ก่อนเลย
https://www.thaicreate.com/php.html

คือมันคุยกันคนละภาษากว่าจะไปได้มันเสียเวลาอะครับ ก็บอกตรงๆ นะครับ ก็คงต้อรอท่านอื่นที่ว่างพอที่จะช่วยเหลือครับ

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

เริ่มจากโค๊ดง่ายๆ ตรงนี้ ไม่ผ่าน sql injection ใช้ไปก็รูบะเร่อเท่อ
$sql = "SELECT st_id FROM student where st_id='".$_POST[st_id]."' ";
Date : 2020-03-21 21:04:51 By : Chaidhanan
 


 

No. 51



โพสกระทู้ ( 4,720 )
บทความ ( 8 )



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


อือหือ....ใช้โค้ดโคตรโบราณมาก คือเขายกเลิกใช้หมดแล้วอะนะ mysql_xxx function เนี่ย ถ้านี่คืองานเขียนใหม่ก็ควรเขียนใหม่จากฟังก์ชั่นที่เป็นปัจจุบันเลยดีกว่า ยกเลิกงานเขียนใหม่นี้แล้วเขียนใหม่จริงๆ งงมั้ย?

แล้ววิธีเขียนก็ด้วย คือมีปัญหาแน่ๆ array key หรือ array index ก็ไม่ใส่ ' " เรียกใช้อย่างกับ constant อย่างงั้น ไปรันบนโฮสท์จริงก็อาจเดี้ยงได้อีก โดยเฉพาะโฮสท์ที่ใช้ php รุ่นใหม่ๆ แต่ถ้าทู่ซี้ใช้ host php รุ่นเก่าๆก็จะโดนแฮ็คได้อย่างว่าอีกนั่นแหละ. คือเขียนใหม่เลยเหอะ เห็นว่าจะเอาไปใช้จริงนี่? ใช้งานกับนักเรียน ดังนั้นเขียนใหม่เหอะ ถ้านี่คืองานเขียนเพื่อศึกษาเฉยๆก็ยังพอหลับหูหลับตาให้มันรันผ่านๆไปได้ (แบบไม่ค่อยมีคุณภาพ).


ไหนๆก็ไหนๆแล้ว ผมถือโอกาสเข้ามาแจกของเลยแล้วกัน. เนื่องจากหลายเดือนก่อน ผมได้เขียน framework ใช้เอง และเขียนโมดูลจัดการผู้ใช้ ทุกขั้นตอนข้างบนที่ผมบอกไป เช่นการตั้งค่ารหัสผ่านใหม่ด้วยตัวเอง อะไรพวกนี้ มีพร้อมหมด แค่ติดตั้งให้สำเร็จแล้วเริ่มเขียนโมดูลที่จะใช้งานต่อไป.
framework: https://github.com/RundizBones/framework
module สลับภาษา: https://github.com/RundizBones/ModuleLanguages
module จัดการผู้ใช้และสิทธิ์การใช้งาน: https://github.com/RundizBones/ModuleAdmin

ทดลองและพยายามติดตั้งเอาเอง และรับความเสี่ยงต่างๆเอาเองนะครับ ผมยังไม่เผยแพร่เป็นทางการ (pre-release) ยังปรับเปลี่ยนอะไรๆแบบสุดขั้วได้อยู่ ดังนั้นที่ว่าเสี่ยงคือบางอย่างอาจจะมีใช้อยู่แต่จู่ๆรุ่นใหม่มาอาจหายวับไปซะงั้น อะไรแบบนี้.
Date : 2020-03-22 01:24:45 By : mr.v
 


 

No. 52



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



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


#Chaidhanan
ครับผม ขอบพระคุณท่านมากครับ
ผมจะพยายามศึกษา เรียนรู้ต่อไปครับ

Date : 2020-03-22 05:39:46 By : ajsudkedt
 


 

No. 53



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



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


# mr.v
ขอบพระคุณสำหรับคำแนะนำครับ

Date : 2020-03-22 05:45:31 By : ajsudkedt
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ถอดรหัส md5 ในเมื่อเราสามารถเข้ารหัส md5 ได้แล้ว เช่น 1234 เมือเข้ารหัส md5 เป็น ds4545gdg15d454dg
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 01
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 อัตราราคา คลิกที่นี่