การเปิดปิดแท็ก PHP (PHP Code Syntax)
รูปแบบแท็ก
|
เปิดแท็ก PHP
|
ปิดแท็ก PHP
|
แบบมาตรฐาน
|
<?php
|
?>
|
แบบสั้น
|
<?
|
?>
|
แบบ ASP
|
<%
|
%>
|
แบบ Script
|
<script language="PHP">
|
</script>
|
รูปแบบคำสั่ง (PHP Statement)
<HTML>
<BODY>
<?php
echo "Hello, World!!”;
?>
</BODY>
</HTML>
ตัวแปร (Variables)
o การประกาศตัวแปร
§ การประกาศตัวแปรเริ่มต้นด้วยเครื่องหมาย $ (Dollar sign)
§ ชื่อตัวแปรต้องเริ่มต้นด้วยตัวอักษรภาษาอังกฤษหรือเครื่องหมายขีดล่าง (underscore "_")
§ ตัวอย่างการประกาศตัวแปรที่ถูกต้อง:
$total
$_cell1
$length_of_string
§ ตัวอย่างการประกาศตัวแปรที่ผิด:
total
$1_total
$2_length
o การกำหนดค่าให้ตัวแปร
§ กำหนดค่าเป็นตัวเลข:
<?php
$total = 10;
?>
§ การกำหนดค่าเป็นข้อความ (string) ให้ใช้ quotes (") หรือ single quote ('):
<?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"
ผลการกำหนดค่าให้ตัวแปร $example2: "The total is 10"
§ การนำข้อความ (string) มาเชื่อมต่อกันโดยใช้จุด "." :
<php
$a = 'apples';
$b = 'bananas';
$c = '';
$c = $a . ' and ' . $b;
?>
ผลการกำหนดค่าให้ตัวแปร $c: "apples and bananas"
§ การนำข้อความ (string) มาเชื่อมต่อกันโดยใช้ ".=" :
<php
$a = 'apples';
$a .= ' and bananas';
?>
ผลการกำหนดค่าให้ตัวแปร $a: "apples and bananas"
อักขระต้องห้าม (Escaping Characters)
Character
|
Escaped Character
|
Description
|
ไม่มี
|
\n
|
Adds a linefeed
|
ไม่มี
|
\r
|
Adds a carriage return
|
ไม่มี
|
\t
|
Adds a tab
|
\
|
\\
|
Backslash
|
$
|
\$
|
Dollar Sign
|
"
|
\"
|
Double Quote
|
อาร์เรย์ (Arrays)
o อาร์เรย์ คือ ตัวแปรชนิดหนึ่งที่สามารถเก็บค่าได้หลายค่าในเวลาเดียวกัน
§ การสร้างอาร์เรย์ให้เรียกใช้ฟังก์ชั่น array()
§ อาร์เรย์จะถูกชี้ตัวแหน่งโดยคีย์
§ การสร้างอาร์เรย์:
$shoppingList = array( 1 => "toothpaste", 2 => "sun cream", 3 => "band-aids");
§ การแสดงค่าจากอาร์เรย์:
echo "The third item in the shopping list is $shoppingList[3];"
ผลลัพธ์: "The third item in the shopping list is band-aids"
คำสั่งควบคุม (Control Structures)
o if
if ($apples > $bananas) echo "You have more apples than bananas!";
o if … else
if ($apples > $bananas) echo "You have more apples than bananas!";
else if ($apples == $bananas) echo "You have apples less than or equal to bananas!";
else if ($apples == $bananas) echo "You have apples less than or equal to bananas!";
o if … else if … else
if ($apples > $bananas) echo "You have more apples than bananas!";
else if ($apples == $bananas) echo "You have apples equal to bananas!";
else echo "You have less apples than bananas!";
if ($apples > $bananas) echo "You have more apples than bananas!";
else if ($apples == $bananas) echo "You have apples equal to bananas!";
else echo "You have less apples than bananas!";
ตัวดำเนินการ (Operators)
Operator
|
ความหมาย
|
==
|
เท่ากับ (Equal to)
|
!=
|
ไม่เท่ากับ (Not equal to)
|
<>
|
ไม่เท่ากับ (Not equal to)
|
<
|
น้อยกว่า (Less than)
|
>
|
มากกว่า (Greater than)
|
<=
|
น้อยกว่าหรือเท่ากับ (Less than or equal to)
|
>=
|
มากกว่าหรือเท่ากับ (Greater than or equal to)
|
การใช้คำสั่งควบคุมและตัวดำเนินการ (Control Structures and Operators)
if ($apples > $bananas)
{
echo "You have more apples than bananas, so I'm taking away your bananas!";
$bananas = 0;
}
การวนลูปแบบ for (for Loop)
o การใช้ fore สำหรับการวนลูปค่าทั้งหมดอาร์เรย์
<?php
$arrayAmpur = array( "เมื่อง" , "บางกรวย" , "บางใหญ่" );
for ( $i = 0; $i < count($arrayAmpur); $i ++)
{
echo " $i : " . $arrayAmpur[$i] . "<BR>";
}
?>
ผลลัพธ์:
0 : เมื่อง
1 : บางกรวย
2 : บางใหญ่
1 : บางกรวย
2 : บางใหญ่
การวนลูปแบบ foreach (foreach Loop)
o การใช้ foreach สำหรับการวนลูปค่าทั้งหมดอาร์เรย์
<?php
$arrayAmpur = array( "1201" => "เมื่อง" , "1202" => "บางกรวย" );
foreach ( $arrayAmpur as $kAmpur => $vAmpur)
{
echo " $kAmpur : $vAmpur <BR>";
}
?>
ผลลัพธ์:
1201 : เมื่อง
1202 : บางกรวย
1202 : บางกรวย
การวนลูปแบบ while (while Loop)
o การใช้ while สำหรับการวนลูปค่าทั้งหมดจากตาราง employees ของฐานข้อมูล
<?php
$rs = mysql_query("SELECT * FROM employees");
while ( $row_rs = mysql_fetch_array($rs) )
{
echo "Employee ID: " . $row_rs['employeeid'] . "<BR>";
echo "First Name: " . $row_rs['firstname'] . "<BR>";
echo "Last Name: " . $row_rs['lastname'] . "<BR>";
}
?>
ผลลัพธ์:
Employee ID: 26
First Name: David
Last Name: Beckham
First Name: David
Last Name: Beckham
ฟังก์ชั่น (Functions)
o ฟังก์ชั่นของ PHP (PHP Built-In Functions)
echo() เช่น echo(" Hello, World ")
print() เช่น print(" Hello, World ")
date() เช่น date("Y-m-d H:i:s")
substr() เช่น substr("ABCDEF" , 0 , 4)
strlen() เช่น strlen("ABCDEFGH")
strpos() เช่น strpos("ABCDEFGHI" , "DE")
strtoupper() เช่น strtolower("AbCdEfGh")
strtolower() เช่น strtolower("AbCdEfGh")
trim() เช่น trim(" A B C ")
explode() เช่น explode("|" , "ABC|DEF|GHI")
list() เช่น list($a , $b , $c) = explode("|" , "ABC|DEF|GHI")
sprintf() เช่น sprintf("%01.2f" , 5.56)
print() เช่น print(" Hello, World ")
date() เช่น date("Y-m-d H:i:s")
substr() เช่น substr("ABCDEF" , 0 , 4)
strlen() เช่น strlen("ABCDEFGH")
strpos() เช่น strpos("ABCDEFGHI" , "DE")
strtoupper() เช่น strtolower("AbCdEfGh")
strtolower() เช่น strtolower("AbCdEfGh")
trim() เช่น trim(" A B C ")
explode() เช่น explode("|" , "ABC|DEF|GHI")
list() เช่น list($a , $b , $c) = explode("|" , "ABC|DEF|GHI")
sprintf() เช่น sprintf("%01.2f" , 5.56)
o ฟังก์ชั่นที่สร้างขึ้นเอง (PHP User-Defined Functions)
§ รูปแบบการประกาศฟังก์ชั่น
function function_name ( argument )
{
statement;
.....
}
function function_name ( argument )
{
statement;
.....
}
§ ฟังก์ชั่นสำหรับตรวจสอบความยาวของข้อมูล:
<?php
function check_length($data) {
if (strlen($data) < 6) return "The data was too small";
else return "That data was fine";
}
?>
หากพารามิเตอร์มีขนาดสั้นกว่า 6 ตัวอักษร จะได้ผลลัพธ์: "The data was too small"
หากพารามิเตอร์มีขนาดไม่สั้นกว่า 6 ตัวอักษร จะได้ผลลัพธ์: " That data was fine"
หากพารามิเตอร์มีขนาดไม่สั้นกว่า 6 ตัวอักษร จะได้ผลลัพธ์: " That data was fine"
§ ฟังก์ชั่นนี้สามารถเรียกใช้ได้จากที่ใดๆ ในไฟล์ PHP
<?php
$example = "qwertyuiop";
echo check_length($example);
?>
ขั้นตอนการสร้างฟอร์ม:
ขั้นตอนการสร้างฟอร์ม:
1. เปิดโปรแกรม Dreamweaver MX คลิกเมนู File > New จะปรากฏไดอะล็อก New Document ขึ้นมา ให้คลิกแท็บ General เลือก Dynamic Page > PHP หลังจากนั้นคลิกปุ่ม Create บันทึกเป็นไฟล์ form.php
2. ที่หน้าจอของเว็บเพจ ให้คลิกเพื่อวางเคอร์เซอร์ในตำแหน่งที่ต้องการสร้างฟอร์ม หลังจากนั้นคลิกที่เมนู
Insert > Form > Form ฟอร์มจะถูกแทรกลงในเว็บเพจ หากอยู่ใน Design View จะเห็นขอบเขตของฟอร์มแสดงเป็นเส้นประสีแดง (หากไม่มีเส้นประสีแสดงขึ้นมา ให้คลิกที่เมนู View > Visual Aids > Invisible Elements)
Insert > Form > Form ฟอร์มจะถูกแทรกลงในเว็บเพจ หากอยู่ใน Design View จะเห็นขอบเขตของฟอร์มแสดงเป็นเส้นประสีแดง (หากไม่มีเส้นประสีแสดงขึ้นมา ให้คลิกที่เมนู View > Visual Aids > Invisible Elements)
รูปแสดงเว็บเพจที่แทรกฟอร์ม
3. คลิกวางตำแหน่งเคอร์เซอร์ลงภายในขอบเขตของฟอร์ม หลังจากนั้นให้คลิกเลือกแท็ก <form> จาก Tag Selector บริเวณขอบล่างซ้ายของเว็บเพจ เมื่อปรากฏไดอะล็อก Properties ช่อง Form Name ให้กำหนดชื่อของฟอร์ม เท่ากับ fmProcess ชื่อของฟอร์มนี้จะถูกใช้เพื่ออ้างอิงในสคริปต์ PHP
รูปแสดง Property ของฟอร์ม
4. ไดอะล็อก Properties ช่อง Action ให้กำหนดชื่อไฟล์ หรือ URL ของสคริปต์ที่จะใช้ในการประมวลผลฟอร์ม เท่ากับ formprocess.php (หากต้องการระบุเป็น URL ให้พิมพ์เป็น http://localhost/phpweb/formprocess.php)
5. ไดอะล็อก Properties ช่อง Method ให้เลือกรูปแบบการส่งข้อมูลจากฟอร์มไปที่เว็บเซิร์ฟเวอร์ ซึ่งมีให้เลือก 3 รูปแบบ คือ
การทำงานของ METHOD:
· POST ส่งข้อมูลโดยส่งข้อมูลส่งไปกับ HTTP Request
· GET ส่งข้อมูลโดยการแปะค่าเป็น URL Parameter (Query String) ไปกับ URL (ข้อมูลที่ส่งจะแสดงอยู่บน URL ของเว็บเบราเซอร์)
· DEFAULT ส่งข้อมูลโดยขึ้นอยู่กับค่า default ของเว็บเบราเซอร์ โดยปกติจะเป็นแบบ GET
NOTE: วิธีการส่งข้อมูลแบบ GET ไม่ควรใช้กับฟอร์มที่มีการส่งข้อมูลจำนวนมาก รวมทั้งไม่ควรใช้ในการส่งข้อมูลที่เป็นความลับ เช่น username, password หรือเลขที่บัตรเครดิต เป็นต้น เนื่องจากวิธีการส่งแบบ GET นี้ ข้อมูลที่เราส่งจะถูกแสดงบน URL เช่น http://localhost/phpweb/detail.php?empid=01020489
|
6. ไดอะล็อก Properties ช่อง Enctype ให้ระบุชนิดของการเข้ารหัสข้อมูล โดยค่า default ของ Enctype จะเป็น application/x-www-form-urlencode ซึ่งจะถูกใช้ร่วมกับ method แบบ POST หากใช้ฟอร์มในการอัปโหลดไฟล์ ให้เลือก Enctype เป็นแบบ multipart/form-data
7. ไดอะล็อก Properties ช่อง Target ให้พิมพ์ชื่อหน้าจอของเว็บเบราเซอร์ที่ต้องการแสดงผลลัพธ์ของฟอร์มหรือเลือกจากรายการที่กำหนดไว้ให้ หากเว็บเบราเซอร์ยังไม่มีชื่อหน้าจอที่ระบุ เว็บเบราเซอร์จะสร้างหน้าจอชื่อที่ระบุขึ้นมาใหม่ ตัวเลือกที่กำหนดไว้ให้ในช่อง Target
การทำงานของ TARGET:
· _blank ผลลัพธ์ของฟอร์มจะแสดงที่หน้าจอเว็บเบราเซอร์ที่สร้างขึ้นมาใหม่
· _parent ผลลัพธ์ของฟอร์มจะแสดงที่หน้าจอหลัก (parent) ของหน้าจอเว็บเบราเซอร์ขณะนั้น
· _self ผลลัพธ์จะแสดงที่หน้าจอเว็บเบราเซอร์เดียวกับฟอร์ม
· _top ผลลัพธ์ของฟอร์มจะแสดงที่หน้าจอหลัก ในกรณีที่หน้าจอเว็บเบราเซอร์แบ่งเป็นหลายเฟรม
8. คลิกปุ่ม Code View เพื่อเขียนโค้ด HTML ดังรูปด้านล่าง หลังจากนั้นบันทึกไฟล์ form.php
<html>
<body>
<form action="formprocess.php" method="POST" name="fmProcess">
ชื่อ: <input name="firstname" type="text" size="32" maxlength="30"> <br>
นามสกุล: <input name="lastname" type="text" size="32" maxlength="30"> <br>
<input name="btnSubmit" type="submit" value="บันทึก">
<input name="btnReset" type="reset" value="ยกเลิก">
</form>
</body>
</html>
|
รูปแสดงโค้ดไฟล์ form.php
9. เปิดโปรแกรม Dreamweaver MX คลิกเมนู File > New จะปรากฏไดอะล็อก New Document ขึ้นมา ให้คลิกแท็บ General เลือก Dynamic Page > PHP คลิกปุ่ม Create หลังจากนั้นให้เพื่อเขียนโค้ด PHP ดังรูปด้านล่าง บันทึกเป็นไฟล์ formprocess.php
<html>
<body>
<?php
echo "ชื่อ: " . $_POST['firstname'] . "<br>";
echo "นามสกุล: " . $_POST['lastname'] . "<br>";
?>
</body>
</html>
|
รูปแสดงโค้ดไฟล์ formprocess.php
10. ทดสอบการทำงานของฟอร์ม โดยเปิด Dreamweaver MX ไปที่หน้าจอไฟล์ form.php หลังจากนั้นกดปุ่ม F12 จะปรากฏหน้าจอ Internet Explorer เป็นแบบฟอร์มกรอกข้อมูล ให้กรอกข้อมูล แล้วคลิกปุ่ม "บันทึก" ให้สังเกตผลลัพธ์การทำงานของเว็บเพจ
รูปแสดงการทำงานของไฟล์ form.php
รูปแสดงการทำงานของไฟล์ formprocess.php
11. เปลี่ยน METHOD ของฟอร์มในไฟล์ form.php จาก METHOD="POST" เป็น METHOD="GET"
12. เปลี่ยนชื่อตัวแปรในไฟล์ formprocess.php จาก $_POST['firstname’] เป็น $_GET['firstname']
และ $_POST['lastname'] เป็น $_GET['lastname']
และ $_POST['lastname'] เป็น $_GET['lastname']
13. ทดสอบการทำงานของฟอร์มใหม่อีกครั้ง ให้สังเกตผลลัพธ์การทำงานของเว็บเพจ
ไม่มีความคิดเห็น:
แสดงความคิดเห็น