PHP5
Server Site Script
หน้าแรก  เนื้อหา ผู้สนับสนุนแผนที่ไซต์ทีมงาน

ปรับปรุง : 2555-08-31 (เตรียมเนื้อหา)
..
PHP5
Requirement for PHP composing
1. Internet, Website, Domain Name, IP Address
2. Operating System, Linux, Windows
3. Webhosting, Database, Services
4. HTML
5. Web Design & Color
6. PHP
7. Graphic
8. Service Plug-in
9. Advanced Script
ข้อควรทราบก่อนเขียนภาษา PHP
Site : thaiall.com and thaiabc.com
พื้นฐาน
+ การเชื่อมโยง PHP กับเรื่องต่างๆ ผ่าน Mind Map [mindjet source]
+ อินเทอร์เน็ตกับภาษา PHP
+ การสมัคร Free webhosting ของ thainame.net
+ การสมัคร Free webhosting ของ 7host.com [ photo :: clip ]
+ การสมัคร Free webhosting ของ ueuo.com [ photo]
+ การติดตั้ง และใช้งาน Local Webhosting ของ XAMPP [ photo]
การเขียนเว็บเพจด้วย HTML และการทำซ้ำด้วย PHP
+ การเขียนเว็บเพจด้วยภาษา HTML
+ การเขียนโปรแกรมพิมพ์ 1 ถึง 5
+ ความผิดพลาดที่มักพบบ่อย
การเขียนเว็บเพจด้วย PHP
+ การเขียนเว็บเพจด้วยภาษา PHP ระดับ 1
+ การเขียนเว็บเพจด้วยภาษา PHP ระดับ 2 [mht]
+ การใช้งาน MySQL เบื้องต้น [source]
กรณีศึกษา
+ กรณีศึกษา การใช้ภาษา PHP
+ php_tip.docx
แหล่งค้นคว้าเพิ่มเติม
* Source code
* การเขียน C
* การเขียน HTML
* การเขียน javascript
* การเขียน ajax
* Web Server
* เว็บ - น่ะ - รก
* การเขียน PERL
* การเขียน ASP
* การเขียน ASP.NET
* การเขียน JSP
* การเขียน JAVA
* ระบบรายงานการปรับปรุง
แหล่งค้นคว้าเพิ่มเติมของ GURU
* php.net [ download manual ]
* thaicreate.com
* appservnetwork.org
* truehits.net [2011]
ความหมายพีเอชพี (PHP Meaning)
:: ภาษาพีเอชพี (PHP Language) คือ ภาษาคอมพิวเตอร์ประเภทโอเพนท์ซอร์ท (Open Source Computer Language) สำหรับพัฒนาเว็บเพจแบบไดนามิก เมื่อเครื่องบริการได้รับคำร้องจากผู้ใช้ก็จะส่งให้กับ ตัวแปลภาษา ทำหน้าที่ประมวลผลและส่งข้อมูลกลับไปยังเครื่องของผู้ใช้ที่ร้องขอ ในรูปเอชทีเอ็มแอล ภาพ หรือแฟ้มดิจิทอลอื่นใด ลักษณะของภาษามีรากฐานคำสั่งมาจากภาษาซี เป็นภาษาที่สามารถพัฒนาให้ใช้งานแบบโต้ตอบกับผู้ใช้ได้
:: ภาษาพีเอชพี (PHP Language) มีการทำงานแบบเซอร์ฟเวอร์ไซต์สคริปต์ (Server-Side Script) จึงต้องมีเครื่องบริการ (Server) ที่ทำหน้าที่บริการการแปลภาษา และส่งผลให้กับเครื่องผู้ใช้ (Client) ที่ร้องขอด้วยการส่งคำร้องเข้ามายังเครื่องบริการ คำว่า PHP ย่อมาจาก Personal Home Page แต่พัฒนาให้มีประสิทธิภาพยิ่งขึ้น จึงเปลี่ยนเป็น Professional Home Page
ประวัติของภาษาพีเอชพี (PHP Language History)
:: ภาษาพีเอชพีถูกคิดค้นขึ้นในปีค.ศ.1994 (พ.ศ.2537) โดย Mr.Rasmus Lerdorf เพื่อใช้ตรวจสอบสถิติการเข้าชมเว็บของตนเอง ต่อมาในปีค.ศ.1995 มีการเผยแพร่ภาษานี้สู่สาธารณะ และพัฒนาเป็น PHP/FI หรือพีเอชพีรุ่น 2 จนกระทั่งกลางปีค.ศ.1996 เริ่มมีทีมพัฒนาอย่างจริงจังโดยมี Mr.Zeev Suraski และ Mr.Andi Gutmans ร่วมทีม และพัฒนาเป็นพีเอชพีรุ่น
วิทยากร : ผศ.บุรินทร์ รุจจนพันธุ์ มหาวิทยาลัยเนชั่น
:: http://www.facebook.com/ajarnburin
:: http://www.thaiall.com/me
ผู้ช่วยวิทยากร : พี่เปรม อุ่นเรือน เว็บมาสเตอร์ มหาวิทยาลัยเนชั่น
:: http://www.nation.ac.th
ไซต์ตัวอย่าง (Demo site)
1. จัดการ mysql [source]
2. อ่าน + ค้น CSV [source]
3. phpinfo() [7host.com]
ดาวน์โหลด (Download)
1. editplus 3.41 (550824)
2. xampp for windows
3. thaiabc for windows
4. appserv with php : 4,5,6

hotmail.com on august 2012

การเลือกกรณี OS ถามว่าปลด lock ให้ MySQL
สิ่งที่มีใน XAMPP Control Panel v3.0.12
+ Apache บริการ httpd + php
+ MySQL บริการระบบฐานข้อมูล (SQL)
+ FileZilla บริการรับส่งแฟ้ม (FTP)
+ Mercury บริการรับส่งอีเมล (POP3 + SMTP)
+ Tomcat บริการตัวแปลภาษา jsp

การตั้ง preference ให้ editplus ประมวลผล .php

ชุดสคลิ๊ป สำหรับทดสอบการยิงข้อมูลเข้าฐานข้อมูล แล้วเกินกว่าค่า limit ที่ตั้งไว้
ที่มา .. ไปพบระบบฐานข้อมูลของโรงเรียนแห่งหนึ่ง ที่เปิดให้ลงวิชาเพิ่มเติมแบบออนไลน์ แล้วจำกัดจำนวนนักเรียนไว้ 60 คนต่อวิชา กลุ่มเป้าหมายคือมีนักเรียน 700 คนเข้าใช้ระบบพร้อมกัน พบว่า นักเรียนคลิ๊กลงเรียนวิชาเพิ่มเติม แล้วระบบรับนักเรียนเกินกว่าที่กำหนดไปถึง 10 คน ก็แสดงว่าระบบไม่ได้ป้องกันการเข้าถึงพร้อมกันจากหลายร้อยคน ทำให้ข้อมูลที่เข้ามาพร้อม ๆ กันเกินกว่าที่กำหนดไว้ จึงนำโจทย์นี้มาทำให้เกิดขึ้นแบบที่เห็น แล้วก็เพิ่ม code ไป 2 บรรทัดเพื่อป้องกัน
กระบวนการทดสอบ .. เริ่มจากสร้าง batch file ทั้งหมด 4 แฟ้ม เพื่อช่วยสร้าง .php บนเครื่องที่ติดตั้ง xampp web server จะได้สะดวกในการทดสอบ แฟ้ม .php มีหน้าที่ดังนี้ 1. สร้าง crt_db_tb.php เพื่อให้สร้างฐานข้อมูล และสร้างตาราง ไปพร้อมกับการทำหน้าที่ล้างข้อมูลในตาราง รองรับการทดสอบซ้ำหลาย ๆ รอบ 2. สร้าง insert_tb.php เพื่อใช้เพิ่มข้อมูลเข้าตารางเป้าหมาย ซึ่งคำสั่งชุดนี้จะทำงานเสร็จสิ้นอย่างรวดเร็ว ไม่ช้าอย่างที่อยากให้เกิดขึ้น หากถูกเรียกพร้อมกันจากหลายคน 3. สร้าง insert_tb10.php เพื่อใช้เพิ่มข้อมูลทีละระเบียน แบบตรวจสอบจำนวนระเบียนก่อนเพิ่มข้อมูล เป็นค่า limit ซึ่ง code ที่ใช้งานจริงมักมีขนาดใหญ่ และอาจหน่วงเวลา จึงเพิ่มคำสั่ง for สำหรับทำซ้ำ ให้โปรแกรมทดสอบนี้ โดยแยกกันระหว่างส่วนรับจำนวนระเบียน และส่วนเพิ่มระเบียน จะได้เห็นปัญหาได้ชัดเจน 4. สร้าง include_15.php เพื่อใช้เรียก insert_tb10.php โดยเรียกผ่าน iframe จำนวน 15 หน้าต่าง แต่ถ้าเรียกผ่าน browser หน้าเดียวจะไม่พบปัญหา เพราะมีการจัดลำดับการประมวลผล ทำให้การเข้าถึงฐานข้อมูลไม่มีการแซงกัน ต้องเรียกผ่าน browser คนละค่าย หรือเรียก browser ที่มี PID แยกกัน
ที่ไป จากการทดสอบเรียก include_15.php ใน 2 browser พบว่าการตรวจสอบค่าในครั้งที่ 10 เกิดข้อผิดพลาด ทำให้บางครั้งข้อมูลเข้าในระบบจำนวน 11 ระเบียน ถ้าป้องกันการเข้าถึงพร้อมกันต้องเรียกใช้ lock tables mytable write และ unlock tables หลังการเรียนกใช้ผลปรากฎว่า แต่ละ browser จะเข้าถึง include_15.php พร้อมกันไม่ได้ ต้องเข้าทีละ iframe ทำให้ผลที่ปรากฎคือ การประมวลผลจะเลื่อนไหลไปทีละช่อง และสลับ browser ในการประมวลผล แบบค่อยเป็นค่อยไป ไม่รวดเร็วแต่ถูกต้อง
1. Batch file : DOS> crt_db_tb.bat
หลังประมวลผลจะได้แฟ้มแบบ php file ใน C:\xampp\htdocs\ ชื่อ crt_db_tb.php
แล้วสั่งประมวลผลบน browser ชี้ address ไปที่ http://localhost/crt_db_tb.php
del C:\xampp\htdocs\crt_db_tb.php | echo y
echo ^<?php > C:\xampp\htdocs\crt_db_tb.php
echo $host = "127.0.0.1:3306"; >> C:\xampp\htdocs\crt_db_tb.php
echo $uname = "root"; >> C:\xampp\htdocs\crt_db_tb.php
echo $passwd = ""; >> C:\xampp\htdocs\crt_db_tb.php
echo $connect=mysql_connect($host,$uname,$passwd); >> C:\xampp\htdocs\crt_db_tb.php
echo $sql = "create database mydb"; >> C:\xampp\htdocs\crt_db_tb.php
echo mysql_query($sql,$connect); >> C:\xampp\htdocs\crt_db_tb.php
echo mysql_select_db("mydb",$connect); >> C:\xampp\htdocs\crt_db_tb.php
echo $sql="create table mytable (eid char(4),ename char(40),esalary int)"; >> C:\xampp\htdocs\crt_db_tb.php
echo if (!$result=mysql_query($sql,$connect)) { echo "it already had"; >> C:\xampp\htdocs\crt_db_tb.php
echo $sql="delete from mytable"; >> C:\xampp\htdocs\crt_db_tb.php
echo if (!$result=mysql_query($sql,$connect)) echo "error"; else echo "<br/>del all rec."; >> C:\xampp\htdocs\crt_db_tb.php
echo } else echo "db and table creating : ok" >> C:\xampp\htdocs\crt_db_tb.php
echo ?^> >> C:\xampp\htdocs\crt_db_tb.php
2. Batch file : DOS> insert_tb.bat
หลังประมวลผลจะได้แฟ้มแบบ php file ใน C:\xampp\htdocs\ ชื่อ insert_tb.php
แล้วสั่งประมวลผลบน browser ชี้ address ไปที่ http://localhost/insert_tb.php
del C:\xampp\htdocs\insert_tb.php | echo y
echo ^<?php > C:\xampp\htdocs\insert_tb.php
echo $host = "127.0.0.1:3306"; >> C:\xampp\htdocs\insert_tb.php
echo $uname = "root"; >> C:\xampp\htdocs\insert_tb.php
echo $passwd = ""; >> C:\xampp\htdocs\insert_tb.php
echo $connect=mysql_connect($host,$uname,$passwd); >> C:\xampp\htdocs\insert_tb.php
echo mysql_select_db("mydb",$connect); >> C:\xampp\htdocs\insert_tb.php
echo $sql="insert into mytable (eid,ename,esalary) value ('1','tom',5)"; >> C:\xampp\htdocs\insert_tb.php
echo if (!$result=mysql_query($sql,$connect)) echo "error"; else echo "insert : ok" >> C:\xampp\htdocs\insert_tb.php
echo ?^> >> C:\xampp\htdocs\insert_tb.php
3. Batch file : DOS> insert_tb10.bat
หลังประมวลผลจะได้แฟ้มแบบ php file ใน C:\xampp\htdocs\ ชื่อ insert_tb10.php
แล้วสั่งประมวลผลบน browser ชี้ address ไปที่ http://localhost/insert_tb10.php
del C:\xampp\htdocs\insert_tb10.php | echo y
echo ^<?php > C:\xampp\htdocs\insert_tb10.php
echo $host = "127.0.0.1:3306"; >> C:\xampp\htdocs\insert_tb10.php
echo $uname = "root"; >> C:\xampp\htdocs\insert_tb10.php
echo $passwd = ""; >> C:\xampp\htdocs\insert_tb10.php
echo $connect=mysql_connect($host,$uname,$passwd); >> C:\xampp\htdocs\insert_tb10.php
echo mysql_select_db("mydb",$connect); >> C:\xampp\htdocs\insert_tb10.php
echo // mysql_query("lock tables mytable write",$connect); >> C:\xampp\htdocs\insert_tb10.php
echo $sql="select * from mytable"; >> C:\xampp\htdocs\insert_tb10.php
echo if (!$result=mysql_query($sql,$connect)) echo "error"; else { >> C:\xampp\htdocs\insert_tb10.php
echo if (mysql_num_rows($result) ^< 10) { >> C:\xampp\htdocs\insert_tb10.php
echo for($i=1;$i^<10000000;$i++) { $i += mysql_num_rows($result); } >> C:\xampp\htdocs\insert_tb10.php
echo $sql="insert into mytable (eid,ename,esalary) value ('1','tom',5)";  >> C:\xampp\htdocs\insert_tb10.php
echo if (!$result=mysql_query($sql,$connect)) echo "error"; else echo "insert : ok"; >> C:\xampp\htdocs\insert_tb10.php
echo } else { echo "over limit"; }// if >> C:\xampp\htdocs\insert_tb10.php
echo } // select >> C:\xampp\htdocs\insert_tb10.php
echo // mysql_query("unlock tables",$connect);  >> C:\xampp\htdocs\insert_tb10.php
echo ?^> >> C:\xampp\htdocs\insert_tb10.php
4. Batch file : DOS> include_15.bat
หลังประมวลผลจะได้แฟ้มแบบ php file ใน C:\xampp\htdocs\ ชื่อ include_15.php
แล้วสั่งประมวลผลบน browser ชี้ address ไปที่ http://localhost/include_15.php
del C:\xampp\htdocs\include_15.php | echo y
echo ^<meta http-equiv="refresh" content="0;url=http://localhost/insert_tb10.php" /^> > C:\xampp\htdocs\include_15.php
echo ^<meta http-equiv="refresh" content="0;url=http://localhost/insert_tb10.php" /^> >> C:\xampp\htdocs\include_15.php
echo ^<meta http-equiv="refresh" content="0;url=http://localhost/insert_tb10.php" /^> >> C:\xampp\htdocs\include_15.php
echo ^<meta http-equiv="refresh" content="0;url=http://localhost/insert_tb10.php" /^> >> C:\xampp\htdocs\include_15.php
echo ^<meta http-equiv="refresh" content="0;url=http://localhost/insert_tb10.php" /^> >> C:\xampp\htdocs\include_15.php
echo ^<meta http-equiv="refresh" content="0;url=http://localhost/insert_tb10.php" /^> >> C:\xampp\htdocs\include_15.php
echo ^<meta http-equiv="refresh" content="0;url=http://localhost/insert_tb10.php" /^> >> C:\xampp\htdocs\include_15.php
echo ^<meta http-equiv="refresh" content="0;url=http://localhost/insert_tb10.php" /^> >> C:\xampp\htdocs\include_15.php
echo ^<meta http-equiv="refresh" content="0;url=http://localhost/insert_tb10.php" /^> >> C:\xampp\htdocs\include_15.php
echo ^<meta http-equiv="refresh" content="0;url=http://localhost/insert_tb10.php" /^> >> C:\xampp\htdocs\include_15.php
echo ^<meta http-equiv="refresh" content="0;url=http://localhost/insert_tb10.php" /^> >> C:\xampp\htdocs\include_15.php
echo ^<meta http-equiv="refresh" content="0;url=http://localhost/insert_tb10.php" /^> >> C:\xampp\htdocs\include_15.php
echo ^<meta http-equiv="refresh" content="0;url=http://localhost/insert_tb10.php" /^> >> C:\xampp\htdocs\include_15.php
echo ^<meta http-equiv="refresh" content="0;url=http://localhost/insert_tb10.php" /^> >> C:\xampp\htdocs\include_15.php
echo ^<meta http-equiv="refresh" content="0;url=http://localhost/insert_tb10.php" /^> >> C:\xampp\htdocs\include_15.php
เพราะเราเชื่อว่า การทำดีย่อมได้ดี .. จึงส่งเสริมให้คนไทย เชื่อมั่นในคำกล่าวที่ศักดิ์สิทธิ์นี้
หน้าแรก
โปรแกรมติดตั้งเครื่องบริการ
เว็บไซต์ฟรีโฮมเพจ
มหาวิทยาลัยเนชั่น
รวมเว็บเพจไทยออล
ศูนย์สอบออนไลน์
บทความไอทีในชีวิตประจำวัน
บริการสืบค้น
แนะนำเว็บใหม่
บล็อกวิชาการ
บล็อกอะค่ะ
บล็อกลำปาง
facebook page
ทีมงานชาวลำปาง
ฝันของทีมงาน
ผู้สนับสนุน
@thaiabc