ผลต่างระหว่างรุ่นของ "คู่มือการพัฒนาซอฟต์แวร์บนเว็บบราวซ์เซอร์ให้รองรับ UA ด้วยภาษา PHP/en"

จาก Wiki_EAI
ไปยังการนำทาง ไปยังการค้นหา
Photchanan (คุย | ส่วนร่วม)
ไม่มีความย่อการแก้ไข
Photchanan (คุย | ส่วนร่วม)
ไม่มีความย่อการแก้ไข
 
(ไม่แสดง 2 รุ่นระหว่างกลางโดยผู้ใช้คนเดียวกัน)
บรรทัดที่ 3: บรรทัดที่ 3:




User/Pass for accessing server in the workshop  [[https://คน.ไทย/วิกิ/list-user-ws.jpg User]]
<!--
# HOST: https://ws.kon.in.th
# DB: https://ws.kon.in.th/phpmyadmin/
# user: userX
# pass: eaiuserX


User/Pass สำหรับเข้าเซิร์ฟเวอร์ใน workshop  [[https://คน.ไทย/วิกิ/list-user-ws.jpg User]]  
User/Pass สำหรับเข้าเซิร์ฟเวอร์ใน workshop  [[https://คน.ไทย/วิกิ/list-user-ws.jpg User]]  
บรรทัดที่ 22: บรรทัดที่ 18:
=== Related systems ===
=== Related systems ===
# Database system
# Database system
# * MySQL
#* MySQL
# * PHPMyAdmin
#* PHPMyAdmin
# Web application
# Web application
# * Registration system
#* Registration system
# * Login system
#* Login system
# * User profile system
#* User profile system
# Email system
# Email system
# * PHPMailer
#* PHPMailer


=== To be used software  ===
=== Required software  ===
# 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 e.g. Firefox, Chrome, Safari
# Web Browser e.g. Firefox, Chrome, Safari
# Text Editor (Code Editor) e.g. Notepad, Atom
# Text Editor (Code Editor) e.g. Notepad, Atom


=== Application Architecture ===
=== Source code ===
* Source code used in this workshop [[https://github.com/THNICF/UA-Workshop-12062021 source code]]
 
== Application Architecture ==
[[File:App-archetiect-3.png|400px]]
[[File:App-archetiect-3.png|400px]]
[[File:App-archetiect-2.png|400px]]
[[File:App-archetiect-2.png|400px]]

รุ่นแก้ไขปัจจุบันเมื่อ 08:15, 6 ตุลาคม 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.


Preparing to Support UA in PHP

  1. Database system
    • MySQL
    • PHPMyAdmin
  2. Web application
    • Registration system
    • Login system
    • User profile system
  3. Email system
    • PHPMailer

Required software

  1. Filezilla [Win] [Mac]
  2. Web Browser e.g. Firefox, Chrome, Safari
  3. Text Editor (Code Editor) e.g. Notepad, Atom

Source code

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 ^(.+)@(.+)$