PHP (PHP Hypertext Preprocessor) คือ ภาษาคอมพิวเตอร์ในลักษณะเซิร์ฟเวอร์-ไซด์ สคริปต์ใช้สำหรับพัฒนาเว็บไซต์สามารถเขียนเว็บเพจที่มีการตอบโต้ได้อย่างรวดเร็วและแสดงผลออกมา ในรูปแบบ HTML
คุณสมบัติ
ลักษณะเด่นของ PHP
การรองรับของภาษา PHP
ภาษา php สามารถพัฒนาได้จากหลากหลายโปรแกรมเช่น
เมื่อเขียนคำสั่งแล้วนำมาประมวลผลผ่านเว็บเซิร์ฟเวอร์เช่น
หากต้องการประมวลผลก่อนการใช้ใน server จริงสามารถทดสอบในลักษณะของ client ผ่าน Appserv
*AppServ คือโปรแกรมที่รวบรวมเอา Open Source Software หลายๆ อย่างมารวมกัน
โดยมี Package หลักดังนี้
- Apache
- PHP
- MySQL
- phpMyAdmin
เพื่อการทดสอบผลลัพท์ก่อนนำขึ้นเว็บเซิร์ฟเวอร์ใช้งานจริงต่อไป
เนื่องจากPHP ไม่ได้เป็นส่วนหนึ่งของตัว Web Server ดังนั้นถ้าจะใช้ PHP ก็จะต้องดูก่อนว่า Web server นั้นสามารถใช้สคริปต์ PHP ได้หรือไม่ ยกตัวอย่างเช่น PHP สามารถใช้ได้กับ Apache WebServer และ Personal Web Server (PWP) สามารถใช้ PHP ได้สองรูปแบบคือ ในลักษณะของ CGI และ Apache Module ถ้าใช้ PHP เป็นแบบโมดูล PHP จะเป็นส่วนหนึ่งของ Apache หรือเป็นส่วนขยายในการทำงาน จะทำงานได้เร็วกว่าแบบที่เป็น CGI เพราะตัวแปรชุดคำสั่งของ PHP เป็นแค่โปรแกรมภายนอก ซึ่ง Apache จะต้องเรียกขึ้นมาทำงานทุกครั้งที่ต้องการใช้PHP ดังนั้นประสิทธิภาพในการทำงาน การใช้ PHP แบบที่เป็นโมดูลหนึ่งของ Apache จะทำงานได้มีประสิทธิภาพมากกว่า
*CGI ย่อมาจาก Common Gateway Interfaces คือโปรโตคอลที่ใช้ในการติดต่อระหว่าง browser กับ server
*Apache คือ Web server ทำหน้าที่ในการจัดเก็บ Homepage และส่ง Homepage ไปยัง Browser ที่มีการเรียกเข้า ยัง Web server ที่เก็บ HomePage นั้นอยู่
ความรู้พื้นฐานเกี่ยวกับภาษา PHP
<html>
<body>
<?php
echo "Hello, World!!”;
?>
</body>
</html>
ตัวอย่างการประกาศตัวแปรที่ถูกต้อง:
ตัวอย่างการประกาศตัวแปรที่ผิด:
<?php
$total = 10;
?>
<?php
$example1 = 'This is a single quoted string';
$example2 = "This is a double quoted string";
?>
*ข้อแตกต่างระหว่าง quotes (") กับ single quote ('):
<php
$total = 10;
$example1 = 'The total is $total';
$example2 = "The total is $total";
?>
ผลการกําหนดค่าให้ตัวแปร $example1: "The total is $total"
ผลการกําหนดค่าให้ตัวแปร $example2: "The total is 10"
<php
$a = 'apples';
$b = 'bananas';
$c = '';
$c = $a . ' and ' . $b;
?>
ผลการกําหนดค่าให้ตัวแปร $c: "apples and bananas"
<php
$a = 'apples';
$a .= ' and bananas';
?>
ผลการกําหนดค่าให้ตัวแปร $a: "apples and bananas"
ตัวดําเนินการ (Operators)
Operator | ความหมาย |
---|---|
== | เท่ากับ (Equal to) |
!= | ไม่เท่ากับ (Not equal to) |
<> | ไม่เท่ากับ (Not equal to) |
> | มากกว่า (Greater than) |
< | น้อยกว่า (Less than) |
=> | มากกว่าหรือเท่ากับ (Greater than or equal to) |
<= | น้อยกว่าหรือเท่ากับ (Less than or equal to) |
ฟังก์ชั่น (Functions)
ฟังก์ชั่น | ตัวอย่าง | ผลลัพธ์ |
---|---|---|
echo() | echo(" Hello, World ") | Hello, World |
print() | print(" Hello, World ") | Hello, World |
date() | date("Y-m-d H:i:s") | 2013-01-31 13:21:24 |
substr() | substr("ABCDEF" , 0 , 4) | ABCD |
strlen() | strlen("ABCDEFGH") | 8 |
strpos() | strpos("ABCDEFGHI" , "DE") | 3 |
strtoupper() | strtoupper("AbCdEfGh") | ABCDEFGH |
strtolower() | strtolower("AbCdEfGh") | abcdefgh |
trim() | trim(" A B C ") | A B C |
explode() | explode("|" , "ABC|DEF|GHI") | [0] => ABC [1] => DEF [2] => GHI |
list() | list($a , $b , $c) =explode("|","ABC|DEF|GHI") | ABC DEF GHI |
sprintf() | sprintf('%02.0f',9.50) | ABC DEF GHI |
ตัวอย่างหน้าจอ
ส่วน HTML ฟอร์ม
<form action="demo2.php" method="post" name="form1">
<table width="50%" border="0" align="center">
<tr>
<td><img src="img/1359639018_custom-reports.png"><b>จงเลือกคำตอบที่ถูกต้อง</b></td>
</tr>
<tr>
<td><b>1.ข้อใดเป็นภาษาในการเขียนโปรแกรม</b></td>
</tr>
<tr>
<td><p>
<label>
<input type="radio" name="RadioGroup1" value="Netscape" id="RadioGroup1_0" />
Netscape</label>
<br/>
<label>
<input type="radio" name="RadioGroup1" value="Paint" id="RadioGroup1_1" />
Paint</label>
<br/>
<label>
<input type="radio" name="RadioGroup1" value="HTML" id="RadioGroup1_2" />
HTML</label>
<br/>
<label>
<input type="radio" name="RadioGroup1" value="FileZila_client" id="RadioGroup1_3" />
FileZila client</label>
</p></td>
</tr>
<tr>
<td ><input type="submit" name="btnall" value="ดูคำตอบ"></td>
</tr>
</table>
ส่วน PHP
<div align="center">
<?php
if($answer=="Netscape"){
echo 'คำตอบของคุณคือ :'.$answer.'<img src="img/1359639084_onebit_33.png" width="26" height="26">';
$Netscape ='checked';
}else if($answer=="Paint"){
echo 'คำตอบของคุณคือ :'.$answer.'<img src="img/1359639084_onebit_33.png" width="26" height="26">';
$Paint ='checked';
}else if($answer=="HTML"){
echo 'คำตอบของคุณคือ :'.$answer.'<img src="img/1359639063_onebit_34.png" width="26" height="26">';
$HTML ='checked';
}else if($answer=="FileZila_client"){
echo 'คำตอบของคุณคือ :'.$answer.'<img src="img/1359639084_onebit_33.png" width="26" height="26">';
$FileZila_client ='checked';
}else if($answer==''){
echo '<script>alert("คุณยังไม่ได้เลือกคำตอบ กรุณาเลือกคำตอบด้วยค่ะ")</script>';
}
?>
การประยุกต์ใช้ร่วมกับ jQuery Mobile
สามารถนำภาษา PHP ช่วยในการส่งข้อมูลโดยส่งผ่านฟอร์ม HTML เพื่อให้ PHP รับค่าแล้วส่งข้อมูลมาแสดง ซึ่งผู้ออกแบบสามารถนำไปประยุกต์ในการออกแบบ jQuery Mobile ได้ตามความเหมาะสม ในที่นี้จะยกตัวอย่าง การค้นหาข้อมูลโดยผ่านฟอร์ม HTML โดยใช้ ภาษา PHP ในการรับค่า