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

จาก Wiki_EAI
ไปยังการนำทาง ไปยังการค้นหา
ลไม่มีความย่อการแก้ไข
กำหนดให้รุ่นปรับปรุงนี้สำหรับการแปลภาษา
บรรทัดที่ 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=&quot;email&quot; name=&quot;email&quot; placeholder=&quot;Email&quot; id=&quot;email&quot; required>
  '''# <input type=&quot;email&quot; name=&quot;email&quot; placeholder=&quot;Email&quot; id=&quot;email&quot; required>


<!--T:10-->
เป็น
เป็น
  '''# <input type=[[&quot;text&quot;]] name=&quot;email&quot; placeholder=&quot;Email&quot; id=&quot;email&quot; required>
  '''# <input type=[[&quot;text&quot;]] name=&quot;email&quot; placeholder=&quot;Email&quot; id=&quot;email&quot; required>


=== [[แก้ไขให้ระบบลงทะเบียนตรวจสอบอีเมล EAI ได้]] ===
=== [[แก้ไขให้ระบบลงทะเบียนตรวจสอบอีเมล EAI ได้]] === <!--T:11-->
แก้ไขไฟล์ register.php จาก  
แก้ไขไฟล์ register.php จาก  
  '''# if (!filter_var($_POST[&apos;email&apos;], FILTER_VALIDATE_EMAIL)) {  
  '''# if (!filter_var($_POST[&apos;email&apos;], FILTER_VALIDATE_EMAIL)) {  
บรรทัดที่ 58: บรรทัดที่ 61:
  '''  }
  '''  }


<!--T:12-->
เป็น
เป็น
  '''# if (preg_match(&apos;/^[ก-๙a-zA-Z0-9_+&*-]+(?:\.[ก-๙a-zA-Z0-9_+&*-]+)*@(?:[ก-๙a-zA-Z0-9-]+\.)+[ก-๙a-zA-Z]{2,16}$/u&apos;, $_POST[&apos;email&apos;]) == 0) {
  '''# if (preg_match(&apos;/^[ก-๙a-zA-Z0-9_+&*-]+(?:\.[ก-๙a-zA-Z0-9_+&*-]+)*@(?:[ก-๙a-zA-Z0-9-]+\.)+[ก-๙a-zA-Z]{2,16}$/u&apos;, $_POST[&apos;email&apos;]) == 0) {
บรรทัดที่ 63: บรรทัดที่ 67:
  ''' }
  ''' }


=== [[แก้ไขให้ระบบลงทะเบียนสามารถส่งอีเมล EAI ได้ด้วย PHPMailer]] ===
=== [[แก้ไขให้ระบบลงทะเบียนสามารถส่งอีเมล EAI ได้ด้วย PHPMailer]] === <!--T:13-->
แก้ไขไฟล์ PHPMailer/src/PHPMailer.php จาก
แก้ไขไฟล์ PHPMailer/src/PHPMailer.php จาก
  '''# case &apos;php&apos;:  
  '''# case &apos;php&apos;:  
บรรทัดที่ 69: บรรทัดที่ 73:
  '''  return filter_var($address, FILTER_VALIDATE_EMAIL) !== false;
  '''  return filter_var($address, FILTER_VALIDATE_EMAIL) !== false;


<!--T:14-->
เป็น
เป็น
  '''# case &apos;php&apos;:  
  '''# case &apos;php&apos;:  
บรรทัดที่ 74: บรรทัดที่ 79:
  '''  return (bool) preg_match(&quot;/^[ก-๙a-zA-Z0-9_+&*-]+(?:\.[ก-๙a-zA-Z0-9_+&*-]+)*@(?:[ก-๙a-zA-Z0-9-]+\.)+[ก-๙a-zA-Z]{2,16}$/u&quot;, $address);
  '''  return (bool) preg_match(&quot;/^[ก-๙a-zA-Z0-9_+&*-]+(?:\.[ก-๙a-zA-Z0-9_+&*-]+)*@(?:[ก-๙a-zA-Z0-9-]+\.)+[ก-๙a-zA-Z]{2,16}$/u&quot;, $address);


<!--T:15-->
[[Category: EAI]]
[[Category: EAI]]
</translate>
</translate>

รุ่นแก้ไขเมื่อ 03:19, 30 มิถุนายน 2564

<languages/> <translate>

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

ระบบที่ใช้ในการพัฒนา

  1. ระบบฐานข้อมูล
    • MySQL
    • PHPMyAdmin
  2. ระบบบนเว็บบราวซ์เซอร์
    • ระบบลงทะเบียน (Registration)
    • ระบบ Login
    • ระบบแสดงผล Profile
  3. ระบบส่งอีเมล
    • PHPMailer

Software ที่ใช้ในการพัฒนา

  1. Filezilla [Win] [Mac]
  2. Web Browser เช่น Firefox, Chrome, Safari
  3. Text Editor (Code Editor) เช่น 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;

แก้ไขไฟล์ register.html จาก

# <input type="email" name="email" placeholder="Email" id="email" required>

เป็น

# <input type="text" name="email" placeholder="Email" id="email" required>

แก้ไขไฟล์ 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!');
 
 }

แก้ไขไฟล์ 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);

</translate>