460 likes | 604 Views
PHP (Professional Home Page). ผู้สอน อาจารย์ศิริพร บุญเปลี่ยนพล ครูวิชาการสาขาวิชาคอมพิวเตอร์และเทคโนโลยี โรงเรียนมหิดลวิทยานุสรณ์ http://www.mwit.ac.th/~jeed. Web server.
E N D
PHP(Professional Home Page) ผู้สอน อาจารย์ศิริพร บุญเปลี่ยนพล ครูวิชาการสาขาวิชาคอมพิวเตอร์และเทคโนโลยี โรงเรียนมหิดลวิทยานุสรณ์ http://www.mwit.ac.th/~jeed
Web server เว็บเซร์ฟเวอร์ (Web server) คือเครื่องบริการเว็บไซต์ หรือเว็บเพจผ่าน http://.... เพื่อให้ได้ข้อมูลทั้งภาพ เสียงจากผู้ให้บริการ เช่น PWS, IIS, OMNI และ Apache เป็นต้น
Note ในการสร้างเว็บจะใช้สคริปต์ (script) อยู่ 2 แบบด้วยกัน คือ • Server-Silde Scriptเป็นลักษณะของภาษาที่ทำงานบนเครื่องเซิร์ฟเวอร์ เช่น PHP, CGI, ASP • Client-Silde Scriptเป็นลักษณะของภาษาที่ทำงานบนเครื่องผู้ใช้ เช่น JavaScript, VBScript
รูปแบบการเขียนสคริปต์ PHP รูปแบบการเขียนโค้ด PHP สามารถเขียนได้ 4 แบบ และทั้ง 4 แบบสามารถแทรกลงในส่วนใดของแท็ก HTML ก็ได้ • การเขียนโค้ด PHP ในลักษณะทั่วไปแบบภาษา SGML จะมีรูปแบคือ <? คำสั่งในภาษา PHP ; ?> 2. การเขียนโค้ด PHP ในลักษณะภาษา XML วิธีนี้เป็นการใช้รูปแบบที่ป้องกันข้อผิดพลาด การเขียนในลักษณะนี้จะมีรูปแบบคือ <?php คำสั่งในภาษา PHP; ?>
รูปแบบการเขียนสคริปต์ PHP 3. การเขียนโค้ด PHP ในลักษณะ Java Script จะมีรูปแบบคือ <Script Language="php"> คำสั่งภาษา PHP ; </Script> 4. การเขียนโค้ด PHP ในลักษณะ ASP จะมีรูปแบบคือ <% คำสั่งภาษา PHP; %>
คำสั่ง print และ echo คำสั่ง print และ echo เป็นคำสั่งที่ใช้ในการแสดงข้อมูลผ่านโปรแกรมบราวเซอร์ รูปแบบคำสั่งprint print “ข้อความ”; หรือ print(“ข้อความ”); <?php $name = "Web Programming"; print "The subject is $name";?> รูปแบบคำสั่งecho echo “ข้อความ”; หรือ echo(“ข้อความ”); <?php echo “PHP Programming";?>
ชนิดของข้อมูล • Integer • floating-point numbers • String • Array • Object • Type juggling
Integer Integer ใช้สำหรับเก็บข้อมูลจำนวนเต็มทั้งจำนวนเต็มบวกและจำนวนเต็มลบ รวมทั้งแสดงค่าเป็นเลขฐานสิบ (0 - 9) ฐานแปด (0 - 7) และฐานสิบหก (0 - 9, A - F หรือ a - f) โดยที่ เลขฐานแปดขึ้นต้นด้วย 0 และเลขฐานสิบหกขึ้นต้นด้วย 0x หรือ 0X มีค่าได้ทั้งบวกและลบ
Floating Point Numbers Floating Point Numbers ใช้สำหรับเก็บข้อมูลจำนวนจริงบวกและลบ จะมีทศนิยมหรือไม่มีก็ได้
String String ใช้เก็บข้อมูลที่เป็นข้อความ รวมทั้งตัวเลข (นำไปคำนวณไม่ได้) ใน PHP เราจะใช้เครื่องหมายฟันหนู (") คร่อมไว้หัวท้ายของชุดตัวอักษร ข้อความต่างๆ ในการกำหนดข้อมูลประเภท Strings นั้นจะมีรหัสควบคุมที่เรียกว่า Escaped characters โดยใช้เครื่องหมาย backslash (\) เป็นตัวควบคุม \n ใช้สำหรับขึ้นบรรทัดใหม่ (จะไม่เห็นความแตกต่างในบราวเซอร์ แต่จะเห็นเมื่อดูโค้ด) \r Carriage ใช้สำหรับให้ตัว Cursor ไปอยู่ที่ต้นของบรรทัด \t ใช้ในการเลื่อน Tab \\ ใช้ในการพิมพ์เครื่องหมาย \ (Backslash) \$ ใช้ในการพิมพ์เครื่องหมาย $ (Dollar Sign) \"ใช้ในการพิมพ์เครื่องหมาย " (Double-Quote) \[0-7]{1,3} ใช้สำหรับเลขฐาน 8 \x[0-9A-Fa-f]{1,2} ใช้สำหรับเลขฐาน 16
Array เป็นการเก็บข้อมูลเป็นชุด เป็นแถว หรือกลุ่มของข้อมูล การกำหนดค่าตัวแปรจะอยู่หลังตัวแปรภายในเครื่องหมาย [...] PHP ได้แบ่ง Array เป็น 2 แบบคือ•อาร์เรย์แบบมิติเดียว (Single Dimension Arrays)•อาร์เรย์แบบหลายมิติ (Multi-Dimensional Arrays)
Object เป็นการเขียนชุดคำสั่งเพื่อเก็บข้อมูลในลักษณะออปเจ็กต์เพื่อการเรียกใช้เป็น Class Object หรือ Dunction
Type juggling ข้อมูลชนิดนี้สร้างขึ้นเพื่อเก็บข้อมูลในลักษณะเฉพาะหรือผู้ใช้เพิ่มเติมเข้ามา $a++; // $a จะมีค่าเท่ากับ $b = 15 + "10 Small";// $b มีค่าเท่ากับ 25 ถือว่า ตัวเลขหน้าข้อความเป็นชนิด Integer
ตัวแปร (Variable)
ตัวแปร ตัวแปร (Variable) คือชื่อที่ใช้แทนสิ่งที่ใช้เก็บข้อมูล ในการเขียนตัวแปรต้องมีการกำหนดค่าให้กับตัวแปร โดยเขียนค่าของตัวแปรไว้ทางด้านขวาของเครื่องหมาย = ตามรูปแบบการเขียน $Sum = 0;$Sumamout = $Sumquantity;
กฎการตั้งตัวแปร • ขึ้นต้นด้วยเครื่องหมาย $ แล้วควรตามด้วยตัวอักษรA,B,C,...,Z,a,b,c,...,z,_ • มีความยาวตั้งแต่ 1 ตัวอักษรไปจนถึง 255 ตัวอักษร • ห้ามมีจุดทศนิยม หรือช่องว่าง • ควรตั้งชื่อให้มีความหมายตรงหรือใกล้เคียงกับค่าที่เก็บในตัวแปรนั้น • ตัวอักษรที่ใช้ไม่ว่าจะใช้ตัวเล็กหรือตัวใหญ่จะถือว่าเป็นตัวแปรเดียวกัน (Case Sensitive) • ตัวแปรที่ซ้ำกับที่ตั้งมาแล้วจะทำให้ค่าที่เก็บเดิมนั้นหายไป <?php $Name = “Computer";$phpName = “Technology";echo "Hello ",$Name,“And",$phpName;?>
ตัวแปรระบบ เป็นตัวแปรที่ PHP เตรียมไว้ให้สามารถเรียกใช้ได้ทันที (เมื่อนำไปใช้งานต้องใช้ตัวพิมพ์ใหญ่ และใส่เครื่องหมาย $ ด้านหน้าด้วย เนื่องจากเป็นตัวแปร)
ค่าคงที่ (Constante)
ค่าคงที่ ค่าคงที่ คือค่าที่กำหนดให้กับตัวแปรและไม่สามารถเปลี่ยนแปลงค่านั้นในขณะใช้งาน ค่าคงที่สามารถเก็บข้อมูลได้ชนิดเดียวกับตัวแปร ไม่ว่าจะเป็นตัวเลขหรือสตริง รวมทั้งบูลีน ใน PHP มีค่าคงที่อยู่ด้วยกัน 2 ประเภท คือ1. ค่าคงที่กำหนดโดย PHP (Built - in Constant)2. ค่าคงที่ที่ผู้ใช้กำหนดเอง (User - defined Contant)
ค่าคงที่กำหนดโดย PHP ค่าคงที่แบบนี้เป็นค่าคงที่ที่ PHP สร้างขึ้นมาเพื่อให้นำไปใช้งานได้ทันที
ค่าคงที่ที่ผู้ใช้กำหนดเองค่าคงที่ที่ผู้ใช้กำหนดเอง รูปแบบการกำหนดค่าคงที่ DEFINE(ConstName, Value); โดยที่ ConstName เป็นชื่อของค่าคงที่ที่ตั้งขึ้นมาเอง, Value เป็นค่าที่เก็บไว้ในค่าคงที่ <?php define("MyString", "Hello PHP "); define("NewLine", "<br>\n"); define(PI, 3.141592654); echo (MyString. NewLine); echo ("Hello" . NewLine); echo ("PI = " . PI . NewLine);?>
โอเปอร์เรเตอร์ (Operator)
โอเปอร์เรเตอร์ โอเปอร์เรเตอร์ (Operator) หรือตัวดำเนินการ เป็นเครื่องหมายที่ใช้เชื่อมต่อระหว่างนิพจน์ ค่าคงที่ หรือตัวแปรตั้งแต่ 2 ตัวขึ้นไป PHP สามารถใช้ Operator ร่วมในการพัฒนาโปรแกรมได้ คุณสมบัติและการใช้งาน Operator จะแตกต่างกันตามชนิดของ Operator โดย PHP ได้จัดแบ่ง Operator ไว้ดังนี้ • โอเปอร์เรเตอร์เชิงคณิตศาสตร์ : Arithmetic Operators • โอเปอร์เรเตอร์เชิงข้อความ : String Operators • โอเปอร์เรเตอร์กำหนดค่า : Assignment Operators • โอเปอร์เรเตอร์เปรียบเทียบบิต : Bitwise Operators • โอเปอร์เรเตอร์เชิงตรรกศาสตร์ : Logical Operators • โอเปอร์เรเตอร์เชิงเปรียบเทียบ : Comparison Operators • โอเปอร์เรเตอร์เพิ่ม - ลดค่า : Incrementing/Decrementing Operator
โอเปอร์เรเตอร์เชิงคณิตศาสตร์ Arithmetic Operators
โอเปอร์เรเตอร์เชิงข้อความ String Operators เป็นโอเปอร์เรเตอร์ที่จัดการเกี่ยวกับข้อความ String ไม่สามารถนำมาคูณหรือคำนวนกันได้ แต่ PHP ได้แปลงสภาพให้ String คำนวณได้ในความหมายของการนำข้อความมาเรียงต่อกัน ("." คือการนำข้อความมาต่อกัน) ตัวอย่าง $x = “String...";$y = $x . “Operators"; ผลลัพธ์ $y = “String ... Operators"
โอเปอร์เรเตอร์กำหนดค่า Assignment Operators โอเปอร์เรเตอร์กำหนดค่านี้มีลักษณะคล้ายกับการกำหนดค่าให้กับตัวแปร แต่แตกต่างกันเนื่องจากเป็นโอเปอร์เรเตอร์ ค่าของตัวแปรที่อยู่ทางด้านซ้ายของเครื่องหมายเท่ากับจะเป็นผลลัพธ์จากการกระทำของโอเปอร์แรนที่อยู่ด้านขวา
โอเปอร์เรเตอร์เปรียบเทียบบิตBitwise Operators เป็นโอเปอร์เรเตอร์สำหรับการเปรียบเทียบ และการคำนวณตัวเลขในระดับบิต
โอเปอร์เรเตอร์เชิงตรรกศาสตร์ Logical Operators เป็นโอเปอร์เรเตอร์ที่คำนวณค่าทางตรรกศาสตร์ของค่าสองค่าคือ จริง (T หรือ 1) กับ เท็จ (F หรือ 0) ซึ่งผลลัพธ์ที่ได้จะได้เพียง 2 ค่า คือ จริง (T หรือ 1) และ เท็จ (F หรือ 0) เท่านั้น
โอเปอร์เรเตอร์เชิงเปรียบเทียบComparison Operators เป็นโอเปอร์เรเตอร์ที่ใช้ในการเปรียบค่าของโอเปอร์แรน หรือตัวแปร 2 ตัว ดังนั้นค่าที่ได้จะเป็น จริง (T) หรือเท็จ (F)
โอเปอร์เรเตอร์เพิ่ม - ลดค่า Incrementing/Decrementing Operator
โครงสร้าง แบบมีทางเลือก (Condition Structure)
คำสั่ง If เป็นคำสั่งสำหรับสร้างเงื่อนไขการทำงานของโปรแกรมว่า ถ้าเป็นจริงก็จะให้ทำงานงานหนึ่ง ถ้าเป็นเท็จก็จะให้ทำงานอีกงานหนึ่ง รูปแบบคำสั่งif ( เหตุการณ์ Operator เหตุการณ์ ) {งานที่จะต้องทำ}
คำสั่ง If...else รูปแบบคำสั่งif ( เหตุการณ์ Operator เหตุการณ์ ) {งานที่จะต้องทำ} else {งานที่จะต้องทำ}
คำสั่ง If...elseif...else รูปแบบคำสั่ง if (เหตุการณ์ Operator เหตุการณ์) {งานที่จะต้องทำ} elseif (เหตุการณ์ Operator เหตุการณ์) {งานที่จะต้องทำ} else {งานที่จะต้องทำ} รูปแบบคำสั่ง
คำสั่ง Switch...Case การใช้ Switch จะตามด้วยตัวแปรที่ต้องการตรวจสอบเงื่อนไข หลังจากจะทำการตรวจสอบเงื่อนไขกับคำสั่ง case ถ้าตรงก็จะทำตามคำสั่งนั้นออกมา ทำเรื่อยไปจนกว่าจะถึงคำสั่ง break แต่ถ้าหากเปรียบเทียบไม่ตรงกับคำสั่งใน case ก็จะทำในคำสั่ง default ดังนั้นถ้าจะมีการทำงานต่อไปจะต้องใส่ไว้หลังจากคำสั่ง default Switch ($Fruit) {case “สีฟ้า"; $Result="คุณชอบ...สีฟ้า"; break; case “สีเหลือง"; $Result="คุณชอบ... สีเหลือง "; break; case “สีแดง"; $Result="คุณชอบ... สีแดง "; break; }
โครงสร้าง แบบทำซ้ำ (Repetition Structure)
For คำสั่ง For จะทำหน้าที่สั่งให้โปรแกรมทำงานวนรอบตามต้องการ ซึ่งกำหนดเป็นเงื่อนไข โดยจะทำเมื่อเงื่อนไขนั้นเป็นจริง และจะมีตัวกำหนดว่าจะวนรอบเมื่อใด for ( สถานการณ์1 ; สถานการณ์ 2 ; สถานการณ์ 3; ) { งานที่จะต้องทำ} <?php for ($i = 1; $i <= 5; $i++) { print "<h$i>Hi hello</h$i><br>"; }?>
While คำสั่ง While จะทำงานโดยตรวจสอบเงื่อนไขก่อน ถ้าเงื่อนไขเป็นจริงจะทำคำสั่งตามที่กำหนด หากเงื่อนไขเป็นเท็จก็จะหยุดการทำกิจกรรมใน Loop ทำเช่นนี้เรื่อยไป while ( เหตุการณ์ Operator เหตุการณ์ ){ งานที่จะต้องทำ} <?php$i = 1;while ($i < 11) { print $i++; }?>
Do...While คำสั่ง Do...While จะคล้ายกับ While คือจะทำงานวนรอบเช่นเดียวกัน แต่คำสั่ง Do...While จะตรวจสอบเงื่อนไขภายหลังจากที่ทำงานไปแล้ว <?php$I = 1;Do { echo "Hello..."; echo “$I <br>"; $I++; }While($I<=5)?> รูปแบบ Do { งานที่จะต้องทำ } While ( เหตุการณ์ Operator เหตุการณ์ )
Foreach คำสั่ง Foreach เป็นการทำงานในลักษณะวนรอบที่ทำงานกับตัวแปรอาร์เรย์
คำสั่ง Break คำสั่ง break เป็นการกำหนดค่าตัวแปร หรือ Assignment Operator จะใช้ร่วมกับ เงื่อนไข for หรือ while ซึ่งจะหยุดการทำงานของวนรอบ loop เมื่อเข้าสู่สถานะการณ์ที่สร้างโดยเงื่อนไขของ break รูปแบบBreak; <?phpFor ($I=1; $I<11; $I++) { If ($I == 6) break; Echo ("Hello...ครั้งที่$I <br>"); }?>
คำสั่ง Continue คำสั่ง Continue จะทำงานตรงข้ามกับคำสั่ง Break คำสั่ง Continue จะสั่งให้โปรแกรมทำงานต่อไป : คำสั่ง Continue กับ For คือจะเป็นการสั่งให้กลับไปเพิ่มค่าให้กับตัวแปรทันที : คำสั่ง Continue กับ While คือจะเป็นการสั่งให้กลับไปทดสอบเงื่อนไขใหม่ทันที <?phpFor ($I=1; $I<11; $I++) { If ($I==6) continue; Echo ("Hello...ครั้งที่ $I <br>"); }?> รูปแบบContinue;
การติดต่อกับฐานข้อมูล MySQL
ฟังก์ชั่นหลักๆ ที่ติดต่อเซิร์ฟเวอร์, ฐานข้อมูล • mysql_connect() สำหรับเริ่มการติดต่อกับเซิร์ฟเวอร์ของ MySQL ซึ่งต้องใช้ชื่อโฮสต์ , ชื่อผู้ใช้และรหัสผ่าน • mysql_select_db() สำหรับเลือกฐานข้อมูลบนเซิร์ฟเวอร์ของ • MySQLmysql_query() สำหรับรันคิวรีจากคำสั่ง SQL ที่สร้างขึ้น • mysql_fetch_array() สำหรับเก็บเรกคอร์ดผลลัพธ์จากคำสั่ง SQL ไว้ในอาร์เรย์ • mysql_free_result() สำหรับปล่อยให้รีซอร์สเป็นอิสระจากการติดต่อ • mssql_close() สำหรับปิดการติดต่อที่กำลังดำเนินอยู่ในปัจจุบัน