ผลต่างระหว่างรุ่นของ "คู่มือการพัฒนาซอฟต์แวร์บนเว็บบราวซ์เซอร์ให้รองรับ UA ด้วยภาษา PHP"
ไปยังการนำทาง
ไปยังการค้นหา
Titipong (คุย | มีส่วนร่วม) ล |
Titipong (คุย | มีส่วนร่วม) (กำหนดให้รุ่นปรับปรุงนี้สำหรับการแปลภาษา) |
||
แถว 2: | แถว 2: | ||
<translate> | <translate> | ||
+ | <!--T:1--> | ||
User/Pass สำหรับเข้าเซิร์ฟเวอร์ใน workshop [[https://คน.ไทย/วิกิ/list-user-ws.jpg User]] | User/Pass สำหรับเข้าเซิร์ฟเวอร์ใน workshop [[https://คน.ไทย/วิกิ/list-user-ws.jpg User]] | ||
# HOST: https://ws.kon.in.th | # HOST: https://ws.kon.in.th | ||
แถว 8: | แถว 9: | ||
# pass: eaiuserX | # pass: eaiuserX | ||
− | == Preparing to Support UA in PHP == | + | == Preparing to Support UA in PHP == <!--T:2--> |
+ | <!--T:3--> | ||
คู่มือนี้ได้จัดทำขึ้นมาเพื่อใช้เป็นแนวทางในการพัฒนาซอฟต์แวร์บนเว็บบราวซ์เซอร์เพื่อให้รองรับโดเมนภาษาไทย (IDN) และอีเมลภาษาไทย (EAI) โดยใช้ภาษา PHP | คู่มือนี้ได้จัดทำขึ้นมาเพื่อใช้เป็นแนวทางในการพัฒนาซอฟต์แวร์บนเว็บบราวซ์เซอร์เพื่อให้รองรับโดเมนภาษาไทย (IDN) และอีเมลภาษาไทย (EAI) โดยใช้ภาษา PHP | ||
− | === ระบบที่ใช้ในการพัฒนา === | + | === ระบบที่ใช้ในการพัฒนา === <!--T:4--> |
# ระบบฐานข้อมูล | # ระบบฐานข้อมูล | ||
#* MySQL | #* MySQL | ||
แถว 23: | แถว 25: | ||
#* PHPMailer | #* PHPMailer | ||
− | === Software ที่ใช้ในการพัฒนา === | + | === Software ที่ใช้ในการพัฒนา === <!--T:5--> |
# Filezilla [[https://dl4.cdn.filezilla-project.org/client/FileZilla_3.52.2_win64-setup.exe?h=nRlrhWw7NLjal-h8S-C__A&x=1615717392 Win]] [[https://dl4.cdn.filezilla-project.org/client/FileZilla_3.52.2_macosx-x86.app.tar.bz2?h=jSIej0fAkYK7rWgFBbsUPA&x=1615717392 Mac]] | # Filezilla [[https://dl4.cdn.filezilla-project.org/client/FileZilla_3.52.2_win64-setup.exe?h=nRlrhWw7NLjal-h8S-C__A&x=1615717392 Win]] [[https://dl4.cdn.filezilla-project.org/client/FileZilla_3.52.2_macosx-x86.app.tar.bz2?h=jSIej0fAkYK7rWgFBbsUPA&x=1615717392 Mac]] | ||
# Web Browser เช่น Firefox, Chrome, Safari | # Web Browser เช่น Firefox, Chrome, Safari | ||
# Text Editor (Code Editor) เช่น Notepad, Atom | # Text Editor (Code Editor) เช่น Notepad, Atom | ||
− | === Application Architecture === | + | === Application Architecture === <!--T:6--> |
[[File:App-archetiect-3.png|400px]] | [[File:App-archetiect-3.png|400px]] | ||
[[File:App-archetiect-2.png|400px]] | [[File:App-archetiect-2.png|400px]] | ||
[[File:App-archetiect-1.png|400px]] | [[File:App-archetiect-1.png|400px]] | ||
− | == Developing Applications to Support UA in PHP == | + | == Developing Applications to Support UA in PHP == <!--T:7--> |
− | === [[สร้างฐานข้อมูลที่รองรับ IDN และ EAI]] === | + | === [[สร้างฐานข้อมูลที่รองรับ IDN และ EAI]] === <!--T:8--> |
'''# CREATE TABLE IF NOT EXISTS accounts ( ''' | '''# CREATE TABLE IF NOT EXISTS accounts ( ''' | ||
''' `id` int(11) NOT NULL AUTO_INCREMENT, | ''' `id` int(11) NOT NULL AUTO_INCREMENT, | ||
แถว 45: | แถว 47: | ||
''' ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;''' | ''' ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;''' | ||
− | === [[แก้ไขให้ระบบลงทะเบียนรองรับการใส่อีเมล EAI]] === | + | === [[แก้ไขให้ระบบลงทะเบียนรองรับการใส่อีเมล EAI]] === <!--T:9--> |
แก้ไขไฟล์ register.html จาก | แก้ไขไฟล์ register.html จาก | ||
'''# <input type="email" name="email" placeholder="Email" id="email" required> | '''# <input type="email" name="email" placeholder="Email" id="email" required> | ||
+ | <!--T:10--> | ||
เป็น | เป็น | ||
'''# <input type=[["text"]] name="email" placeholder="Email" id="email" required> | '''# <input type=[["text"]] name="email" placeholder="Email" id="email" required> | ||
− | === [[แก้ไขให้ระบบลงทะเบียนตรวจสอบอีเมล EAI ได้]] === | + | === [[แก้ไขให้ระบบลงทะเบียนตรวจสอบอีเมล EAI ได้]] === <!--T:11--> |
แก้ไขไฟล์ register.php จาก | แก้ไขไฟล์ register.php จาก | ||
'''# if (!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) { | '''# if (!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) { | ||
แถว 58: | แถว 61: | ||
''' } | ''' } | ||
+ | <!--T:12--> | ||
เป็น | เป็น | ||
'''# if (preg_match('/^[ก-๙a-zA-Z0-9_+&*-]+(?:\.[ก-๙a-zA-Z0-9_+&*-]+)*@(?:[ก-๙a-zA-Z0-9-]+\.)+[ก-๙a-zA-Z]{2,16}$/u', $_POST['email']) == 0) { | '''# if (preg_match('/^[ก-๙a-zA-Z0-9_+&*-]+(?:\.[ก-๙a-zA-Z0-9_+&*-]+)*@(?:[ก-๙a-zA-Z0-9-]+\.)+[ก-๙a-zA-Z]{2,16}$/u', $_POST['email']) == 0) { | ||
แถว 63: | แถว 67: | ||
''' } | ''' } | ||
− | === [[แก้ไขให้ระบบลงทะเบียนสามารถส่งอีเมล EAI ได้ด้วย PHPMailer]] === | + | === [[แก้ไขให้ระบบลงทะเบียนสามารถส่งอีเมล EAI ได้ด้วย PHPMailer]] === <!--T:13--> |
แก้ไขไฟล์ PHPMailer/src/PHPMailer.php จาก | แก้ไขไฟล์ PHPMailer/src/PHPMailer.php จาก | ||
'''# case 'php': | '''# case 'php': | ||
แถว 69: | แถว 73: | ||
''' return filter_var($address, FILTER_VALIDATE_EMAIL) !== false; | ''' return filter_var($address, FILTER_VALIDATE_EMAIL) !== false; | ||
+ | <!--T:14--> | ||
เป็น | เป็น | ||
'''# case 'php': | '''# case 'php': | ||
แถว 74: | แถว 79: | ||
''' return (bool) preg_match("/^[ก-๙a-zA-Z0-9_+&*-]+(?:\.[ก-๙a-zA-Z0-9_+&*-]+)*@(?:[ก-๙a-zA-Z0-9-]+\.)+[ก-๙a-zA-Z]{2,16}$/u", $address); | ''' return (bool) preg_match("/^[ก-๙a-zA-Z0-9_+&*-]+(?:\.[ก-๙a-zA-Z0-9_+&*-]+)*@(?:[ก-๙a-zA-Z0-9-]+\.)+[ก-๙a-zA-Z]{2,16}$/u", $address); | ||
+ | <!--T:15--> | ||
[[Category: EAI]] | [[Category: EAI]] | ||
</translate> | </translate> |
รุ่นแก้ไขเมื่อ 10:19, 30 มิถุนายน 2564
User/Pass สำหรับเข้าเซิร์ฟเวอร์ใน workshop [User]
# HOST: https://ws.kon.in.th # DB: https://ws.kon.in.th/phpmyadmin/ # user: userX # pass: eaiuserX
Preparing to Support UA in PHP
คู่มือนี้ได้จัดทำขึ้นมาเพื่อใช้เป็นแนวทางในการพัฒนาซอฟต์แวร์บนเว็บบราวซ์เซอร์เพื่อให้รองรับโดเมนภาษาไทย (IDN) และอีเมลภาษาไทย (EAI) โดยใช้ภาษา PHP
ระบบที่ใช้ในการพัฒนา
- ระบบฐานข้อมูล
- MySQL
- PHPMyAdmin
- ระบบบนเว็บบราวซ์เซอร์
- ระบบลงทะเบียน (Registration)
- ระบบ Login
- ระบบแสดงผล Profile
- ระบบส่งอีเมล
- PHPMailer
Software ที่ใช้ในการพัฒนา
- Filezilla [Win] [Mac]
- Web Browser เช่น Firefox, Chrome, Safari
- Text Editor (Code Editor) เช่น Notepad, Atom
Application Architecture
Developing Applications to Support UA in PHP
สร้างฐานข้อมูลที่รองรับ IDN และ EAI
# CREATE TABLE IF NOT EXISTS accounts ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(50) NOT NULL, `password` varchar(255) NOT NULL, `email` varchar(100) NOT NULL, `activation_code` varchar(50) DEFAULT '', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
แก้ไขให้ระบบลงทะเบียนรองรับการใส่อีเมล EAI
แก้ไขไฟล์ register.html จาก
# <input type="email" name="email" placeholder="Email" id="email" required>
เป็น
# <input type="text" name="email" placeholder="Email" id="email" required>
แก้ไขให้ระบบลงทะเบียนตรวจสอบอีเมล EAI ได้
แก้ไขไฟล์ register.php จาก
# if (!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) { exit('Email is not valid!'); }
เป็น
# if (preg_match('/^[ก-๙a-zA-Z0-9_+&*-]+(?:\.[ก-๙a-zA-Z0-9_+&*-]+)*@(?:[ก-๙a-zA-Z0-9-]+\.)+[ก-๙a-zA-Z]{2,16}$/u', $_POST['email']) == 0) { exit('Email is not valid!'); }
แก้ไขให้ระบบลงทะเบียนสามารถส่งอีเมล EAI ได้ด้วย PHPMailer
แก้ไขไฟล์ PHPMailer/src/PHPMailer.php จาก
# case 'php': default: return filter_var($address, FILTER_VALIDATE_EMAIL) !== false;
เป็น
# case 'php': default: return (bool) preg_match("/^[ก-๙a-zA-Z0-9_+&*-]+(?:\.[ก-๙a-zA-Z0-9_+&*-]+)*@(?:[ก-๙a-zA-Z0-9-]+\.)+[ก-๙a-zA-Z]{2,16}$/u", $address);