ผลต่างระหว่างรุ่นของ "คู่มือการพัฒนาซอฟต์แวร์บนเว็บบราวซ์เซอร์ให้รองรับ UA ด้วยภาษา PHP/en"
ไปยังการนำทาง
ไปยังการค้นหา
Photchanan (คุย | ส่วนร่วม) สร้างหน้าด้วย "Category: EAI" |
Photchanan (คุย | ส่วนร่วม) สร้างหน้าด้วย "-->" |
||
| บรรทัดที่ 22: | บรรทัดที่ 22: | ||
=== Related systems === | === Related systems === | ||
# Database system | # Database system | ||
# | # MySQL | ||
# | # PHPMyAdmin | ||
# Web application | # Web application | ||
# | # Registration system | ||
# | # Login system | ||
# | # User profile system | ||
# Email system | # Email system | ||
# | # PHPMailer | ||
=== To be used software === | === To be used software === | ||
| บรรทัดที่ 43: | บรรทัดที่ 43: | ||
== Developing Applications to Support UA in PHP == | == Developing Applications to Support UA in PHP == | ||
=== [[Cereate database that could handle IDN and EAI]] === | === [[Cereate database that could handle IDN and EAI]] === | ||
'''# CREATE TABLE IF NOT EXISTS accounts ( ''' | '''# CREATE TABLE IF NOT EXISTS accounts ( ''' | ||
| บรรทัดที่ 53: | บรรทัดที่ 52: | ||
''' PRIMARY KEY (`id`) | ''' PRIMARY KEY (`id`) | ||
''' ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;''' | ''' ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;''' | ||
=== [[modify the registration system to be able to accept EAI email address]] === | === [[modify the registration system to be able to accept EAI email address]] === | ||
modify register.html fronm | modify register.html fronm | ||
'''# <input type="email" name="email" placeholder="Email" id="email" required> | '''# <input type="email" name="email" placeholder="Email" id="email" required> | ||
to | to | ||
'''# <input type=[["text"]] name="email" placeholder="Email" id="email" required> | '''# <input type=[["text"]] name="email" placeholder="Email" id="email" required> | ||
=== [[modifythe registration system to be able to validate EAI email address]] === | === [[modifythe registration system to be able to validate EAI email address]] === | ||
modify register.php from | modify register.php from | ||
| บรรทัดที่ 72: | บรรทัดที่ 65: | ||
'''
exit('Email is not valid!');
| '''
exit('Email is not valid!');
| ||
''' } | ''' } | ||
to | to | ||
'''# 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) { | ||
''' exit('Email is not valid!');
| ''' exit('Email is not valid!');
| ||
''' } | ''' } | ||
=== [[modify the registration system to be able to send EAI email with PHPMailer]] === | === [[modify the registration system to be able to send EAI email with PHPMailer]] === | ||
modify PHPMailer/src/PHPMailer.php from | modify PHPMailer/src/PHPMailer.php from | ||
| บรรทัดที่ 87: | บรรทัดที่ 76: | ||
''' default: | ''' default: | ||
''' return filter_var($address, FILTER_VALIDATE_EMAIL) !== false; | ''' return filter_var($address, FILTER_VALIDATE_EMAIL) !== false; | ||
to | to | ||
'''# case 'php': | '''# case 'php': | ||
''' default: | ''' default: | ||
''' 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); | ||
The regular expression works for Thai email address only. For general email verification for any email addresses in any language, the following expression may be considered: | The regular expression works for Thai email address only. For general email verification for any email addresses in any language, the following expression may be considered: | ||
รุ่นแก้ไขเมื่อ 02:27, 3 สิงหาคม 2564
<languages/> This manual is a guideline for UA web application development using PHP. The application will be able to accept, validate and process Thai IDN and Thai EAI correctly.
User/Pass for accessing server in the workshop [User]
# HOST: https://ws.kon.in.th # DB: https://ws.kon.in.th/phpmyadmin/ # user: userX # pass: eaiuserX
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
Related systems
- Database system
- MySQL
- PHPMyAdmin
- Web application
- Registration system
- Login system
- User profile system
- Email system
- PHPMailer
To be used software
- Filezilla [Win] [Mac]
- Web Browser e.g. Firefox, Chrome, Safari
- Text Editor (Code Editor) e.g. Notepad, Atom
Application Architecture
Developing Applications to Support UA in PHP
# 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;
modify register.html fronm
# <input type="email" name="email" placeholder="Email" id="email" required>
to
# <input type="text" name="email" placeholder="Email" id="email" required>
modify register.php from
# if (!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
exit('Email is not valid!');
}
to
# 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!');
}
modify PHPMailer/src/PHPMailer.php from
# case 'php': default: return filter_var($address, FILTER_VALIDATE_EMAIL) !== false;
to
# 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);
The regular expression works for Thai email address only. For general email verification for any email addresses in any language, the following expression may be considered:
- something@something ^(.+)@(.+)$


