Contenu connexe
Similaire à Training php (20)
Training php
- 1. การพัฒนาเว็บเพ็จด้วยภาษา PHP 1
เอกสารประกอบการฝึกอบรมหลักสูตร “การพัฒนาเว็บไซต์จัดการฐานข้อมูลเบื้องต้นด้วยภาษา PHP+MySQL” เรียบเรียงโดย ครูสมพร ผลประพฤติ
หลักการและโครงสร้างของภาษา PHP
ภาษา PHP
PHP เป็นภาษา Script ที่ทางานในฝั่ง Server หรือเรียกว่า Server-side เมื่อถูกเรียกใช้โดย Web
browser จะมีการประมวลผลบนเครื่อง Server แล้วส่งผลลัพธ์ในรูปแบบภาษา HTML ส่งไปยังเครื่อง
Client โดยไฟล์ภาษา PHP จะต้องกาหนดส่วนขยาย (นามสกุล) เป็น php เสมอ
การทางานของ PHP
Version แรก – Version 3 ใช้หลักการแปลที่ละประโยค (Interpretation process)
Version 4 เป็นต้นไป ใช้หลักการแปล (Compiled) เก็บไว้ในหน่วยความจาก่อนและจึงทางาน
(Compilation process) จึงมีการทางานได้เร็วขึ้น
รูปแบบของภาษา PHP
การระบุว่า Script นี้เป็นภาษา PHP ทาได้โดยกาหนด Tag คร่อมดังนี้
<?php หรือ <? หรือ <script language = “php”>
………
………
………
?> หรือ </script>
รูปแบบที่ 1 ไฟล์ first.php
<html>
<head>
<title> First PHP </title>
</head>
<body>
<?php
print "...First...";
?>
</body>
</html>
รูปแบบที่ 2 ไฟล์ second.php
<?php
print "<title>Second PHP</title>";
print "<body>";
- 2. การพัฒนาเว็บเพ็จด้วยภาษา PHP 2
เอกสารประกอบการฝึกอบรมหลักสูตร “การพัฒนาเว็บไซต์จัดการฐานข้อมูลเบื้องต้นด้วยภาษา PHP+MySQL” เรียบเรียงโดย ครูสมพร ผลประพฤติ
print "...Second PHP...";
print "</body>";
?>
ตัวแปรและชนิดของตัวแปร
PHP ไม่จาเป็นต้องมีการระบุชนิด (Type) เนื่องจากสามารถกาหนดได้เองตามชนิดของข้อมูล แต่
หากต้องการก็สามารถกาหนดชนิดของตัวแปร หรือเปลี่ยนแปลงชนิดภายหลังก็ได้
ชื่อตัวแปรจะต้องนาหน้าด้วยเครื่องหมาย $ ตามด้วย ตัวอักษรหรือเครื่องหมาย _ แล้วตามด้วย
ตัวอักษรหรือตัวเลขหรือ _ โดยไม่มีช่องว่าง
ตัวอย่าง 1
$num = 12.345;
print $num;
ผลที่ได้
12.345
ตัวอย่าง 2
$num = (integer) 12.345;
print $num;
ผลที่ได้
12
ตัวอย่าง 3
$num = 12.345;
settype($num, "integer");
print $num;
ผลที่ได้
12
ชนิดของตัวแปร
boolean, bool จริง (True) หรือ เท็จ (False)
integer, int ตัวเลขจานวนเต็ม
float, double, real ตัวเลขมีทศนิยม
string ข้อความใด ๆ
array ตัวแปรชุด
object วัตถุ ซึ่งเกิดจากการสร้าง Class (OOP)
- 3. การพัฒนาเว็บเพ็จด้วยภาษา PHP 3
เอกสารประกอบการฝึกอบรมหลักสูตร “การพัฒนาเว็บไซต์จัดการฐานข้อมูลเบื้องต้นด้วยภาษา PHP+MySQL” เรียบเรียงโดย ครูสมพร ผลประพฤติ
การเชื่อมตัวแปร
การนาตัวแปรตั้งแต่ 2 ตัวขึ้นไปมาเชื่อมต่อกันในลักษณะ Text หรือเชื่อมต่อกับ Text โดยตรง จะ
ใช้เครื่องหมาย . เป็นตัวคั่นชื่อตัวแปร
ตัวอย่าง 4
$s = "Salary";
$sal=25000;
print $s . " = " . $sal;
ผลที่ได้
Salary = 25000
ค่าตัวแปรที่เป็น NULL
เป็นค่าพิเศษของตัวแปรใด ๆ ซึ่งมีความหมายว่าไม่มีค่าใด ๆ อยู่ ซึ่งจะเกิดขึ้นในกรณีต่อไปนี้
1) เป็นตัวแปรที่ไม่เคยถูกกาหนดค่ามาก่อน
2) ถูกกาหนดค่าเป็น NULL
3) ถูกถอนค่าด้วยฟังก์ชั่น unset()
ตัวกระทาทางคณิตศาสตร์ (Arithmetic Operators)
การบวก + Addition ตัวอย่าง $a + $b
การลบ - Addition ตัวอย่าง $a - $b
การคูณ * Addition ตัวอย่าง $a * $b
การหาร / Addition ตัวอย่าง $a / $b
เศษจากการหาร % Addition ตัวอย่าง $a % $b
ตัวกระทาสาหรับกาหนดค่า (Assignment Opertators)
เครื่องหมาย = ตัวอย่าง $a = $b กาหนดให้ตัวแปรซ้ายมือมีค่าเท่ากับตัวแปรทางขวามือ
เครื่องหมาย += ตัวอย่าง $a += $b กาหนดให้ตัวแปรซ้ายมือเพิ่มค่าเท่ากับตัวแปรทางขวามือ
เครื่องหมาย -= ตัวอย่าง $a -= $b กาหนดให้ตัวแปรซ้ายมือลดค่าเท่ากับตัวแปรทางขวามือ
เครื่องหมาย .= ตัวอย่าง $a .= $b กาหนดให้ตัวแปรซ้ายมือถูกต่อด้วยตัวแปรทางขวามือ
ตัวกระทาสาหรับการเปรียบเทียบ (Comparison Opertators)
= = Equal ตัวอย่าง $a = = $b เป็นจริงเมื่อ $a เท่ากับ $b
= = = Identical ตัวอย่าง $a = = = $b เป็นจริงเมื่อ $a เท่ากับ $b และเป็น
ข้อมูลชนิดเดียวกัน
! = Not Equal ตัวอย่าง $a ! = $b เป็นจริงเมื่อ $a ไม่เท่ากับ $b
< > Not Equal ตัวอย่าง $a < > $b เป็นจริงเมื่อ $a ไม่เท่ากับ $b
- 4. การพัฒนาเว็บเพ็จด้วยภาษา PHP 4
เอกสารประกอบการฝึกอบรมหลักสูตร “การพัฒนาเว็บไซต์จัดการฐานข้อมูลเบื้องต้นด้วยภาษา PHP+MySQL” เรียบเรียงโดย ครูสมพร ผลประพฤติ
! = = Not Identical ตัวอย่าง $a ! = = $b เป็นจริงเมื่อ $a ไม่เท่ากับ $b หรือ
เท่ากันแต่ชนิดข้อมูลต่างกัน
< Less than ตัวอย่าง $a < $b เป็นจริงเมื่อ $a น้อยกว่า $b
> More than ตัวอย่าง $a > $b เป็นจริงเมื่อ $a มากกว่า $b
< = Less than or Equal to ตัวอย่าง $a < = $b เป็นจริงเมื่อ $a น้อยกว่าหรือเท่ากับ $b
> = More than or Equal to ตัวอย่าง $a > = $b เป็นจริงเมื่อ $a มากกว่าหรือเท่ากับ $b
ตัวกระทาสาหรับการเพิ่ม/ลดค่า (Incrementing/Decrementing Opertators)
++$a Pre-increment เพิ่มค่าตัวแปร $a ขึ้น 1 แล้วจึงคืนค่าให้ตัวแปร $a
$a++ Post-increment คืนค่าตัวแปร $a แล้วจึงเพิ่มค่าตัวแปร $a ขึ้นอีก 1
--$a Pre-decrement ลดค่าตัวแปร $a ลง 1 แล้วจึงคืนค่าให้ตัวแปร $a
$a-- Post-decrement คืนค่าตัวแปร $a แล้วจึงลดค่าตัวแปร $a ลงอีก 1
ตัวกระทาทางตรรกะ (Logical Opertators)
and หรือ && And ตัวอย่าง $a and $b จะให้ค่าเป็นจริงเมื่อเป็นจริงทั้งคู่
or หรือ || Or ตัวอย่าง $a or $b จะให้ค่าเป็นเท็จเมื่อเป็นเท็จทั้งคู่
xor Exclusive ตัวอย่าง $a xor $b จะให้ค่าเป็นเท็จเมื่อเป็นเท็จทั้งคู่ หรือ
เป็นจริงทั้งคู่
! Not ตัวอย่าง !$a จะให้ค่าเป็นจริงเมื่อ $a เป็นเท็จ
- 5. การพัฒนาเว็บเพ็จด้วยภาษา PHP 5
เอกสารประกอบการฝึกอบรมหลักสูตร “การพัฒนาเว็บไซต์จัดการฐานข้อมูลเบื้องต้นด้วยภาษา PHP+MySQL” เรียบเรียงโดย ครูสมพร ผลประพฤติ
การตรวจสอบเงื่อนไขและการทาซ้า
ประโยคควบคุม (Control Statements)
if…else, if…elseif
ตัวอย่างที่ 1
if ($a == $b)
{
print "OK Equal";
}
ผลที่ได้
OK Equal หากค่าของตัวแปรเท่ากัน
ตัวอย่างที่ 2
if ($a == $b)
{
print "OK Equal";
}
else
{
print "NoK Not Equal";
}
ตัวอย่างที่ 3
if ($a > $b)
{
echo "A more than B";
}
else if ($a < $b)
{
echo "A less than B";
}
else
{
echo "A equal B";
- 6. การพัฒนาเว็บเพ็จด้วยภาษา PHP 6
เอกสารประกอบการฝึกอบรมหลักสูตร “การพัฒนาเว็บไซต์จัดการฐานข้อมูลเบื้องต้นด้วยภาษา PHP+MySQL” เรียบเรียงโดย ครูสมพร ผลประพฤติ
}
switch, break
ตัวอย่างที่ 4
switch ($choice)
{
case 1:
echo "Choice = 1";
break;
case 2:
echo "Choice = 2";
break;
case 3:
echo "Choice = 3";
break;
}
while, do…while
ตัวอย่างที่ 5
$i = 1;
while ($i <= 10)
{
print $i;
$i++;
}
ตัวอย่างที่ 6
$i = 1;
do
{
print $i;
$i++;
} while ($i <= 10)
- 7. การพัฒนาเว็บเพ็จด้วยภาษา PHP 7
เอกสารประกอบการฝึกอบรมหลักสูตร “การพัฒนาเว็บไซต์จัดการฐานข้อมูลเบื้องต้นด้วยภาษา PHP+MySQL” เรียบเรียงโดย ครูสมพร ผลประพฤติ
for
ตัวอย่างที่ 7
for ($i = 1; $i <= 10; $i++)
{
print $i;
}
foreach
ตัวอย่างที่ 8
$arr_name = array ("A", "B", "C", "D", "E");
foreach (arr_name as $err_each)
{
print $arr_each;
print "$nbsp";
}
break
ใช้ได้กับ loop: for, foreach, while, do…while, switch
ตัวอย่างที่ 9
break 1 // ออกจากการทางานใน loop 1 ชั้น
…
ตัวอย่างที่ 10
break 2 // ออกจากการทางานใน loop 2 ชั้น
...
continue
เป็นการสั่งให้กลับไปทางานใน loop อีกครั้งหนึ่ง
ตัวอย่างที่ 11
$a = 0;
while (++$a <= 100)
{
if ($a % 10) continue;
print $a . "<br>";
}
print “End of program…”;
- 8. การพัฒนาเว็บเพ็จด้วยภาษา PHP 8
เอกสารประกอบการฝึกอบรมหลักสูตร “การพัฒนาเว็บไซต์จัดการฐานข้อมูลเบื้องต้นด้วยภาษา PHP+MySQL” เรียบเรียงโดย ครูสมพร ผลประพฤติ
การสร้างฟอร์มรับข้อมูล
ตัวอย่างที่ 12
<form method="post" action="php12.php">
<input type="text" name="num">
<input type="submit" value="OK">
<input type="reset" value="Reset">
</form>
<?php
for ($i = 1; $i++; $i < $num)
{
print $i . "<br";
$i++;
}
?>
- 9. การพัฒนาเว็บเพ็จด้วยภาษา PHP 9
เอกสารประกอบการฝึกอบรมหลักสูตร “การพัฒนาเว็บไซต์จัดการฐานข้อมูลเบื้องต้นด้วยภาษา PHP+MySQL” เรียบเรียงโดย ครูสมพร ผลประพฤติ
การผนวกไฟล์และฟังก์ชันของภาษา PHP
รหัสควบคุม String
n ขึ้นบรรทัดใหม่
r เลื่อน Cursor ไปอยู่ที่ต้นบรรทัด
t เลื่อน Tab
พิมพ์เครื่องหมาย (Backslash)
$ พิมพ์เครื่องหมาย $ (Dollar Sign)
" พิมพ์เครื่องหมาย " (Double-Quote)
include
เรียกใช้สคริปต์ PHP ที่อยู่ในไฟล์อื่นมาทางาน และสามารถเรียกทางานภายใต้การวนรอบ (loop) ได้
หากพบข้อผิดพลาด เช่น หาไฟล์ไม่เจอ จะแสดงเป็นคาเตือน (Warning) และทางานต่อไปได้
require
เรียกใช้สคริปต์ PHP ที่อยู่ในไฟล์อื่นมาทางาน แต่ไม่สามารถเรียกใช้ภายใต้การวนรอบได้ แต่หาก
พบข้อผิดพลาด จะแสดงข้อผิดพลาดอย่างร้ายแรง (Fatal Error) และหยุดการทางานของเว็บเพจ
require_once, include_once
เป็นการแทรกไฟล์สคริปต์หนึ่งเข้าไปยังอีกไฟล์สคริปต์หนึ่ง เช่นเดียวกันกับ include และ require
แต่ต่างกันที่ require_once และ include_once จะป้ องกันไม่ให้มีการแทรกไฟล์ซ้า ในกรณีที่ไฟล์นั้นถูกเรียก
มาแล้วครั้งหนึ่ง เพื่อป้ องกันการประกาศฟังก์ชั่นซ้า หรือกาหนดค่าตัวแปรซ้า โดยมีจุดประสงค์เพื่อลดความ
ผิดพลาด
ตัวอย่างที่ 1
ไฟล์ intro.inc
<?php
$depart = "Electronic";
$college = "Chanthaburi Technical College";
function intro()
{
global $depart, $college;
echo "My Depart is " . $depart . "<br>";
echo "My College is " . $college . "<br>";
}
?>
- 10. การพัฒนาเว็บเพ็จด้วยภาษา PHP 10
เอกสารประกอบการฝึกอบรมหลักสูตร “การพัฒนาเว็บไซต์จัดการฐานข้อมูลเบื้องต้นด้วยภาษา PHP+MySQL” เรียบเรียงโดย ครูสมพร ผลประพฤติ
ไฟล์ testfunc.php
<?php
include("intro.inc");
$depart = "Technocom";
intro();
?>
Function
โดยทั่วไปเราจะเรียกใช้ฟังก์ชั่นจาก Library ของ PHP อย่างไรก็ตามเราสามารถสร้างฟังก์ชั่นขึ้นใช้
เองได้ดังนี้
1. ฟังก์ชั่นที่ไม่มีการส่งค่าระหว่างฟังก์ชั่น
ตัวอย่างที่ 1
<?php
function sign()
{
print "http://www.technicchan.ac.th<br>";
print "Thank you";
}
sign(); // เรียกใช้ฟังก์ชั่น sign()
?>
2. ฟังก์ชั่นที่มีการส่งค่าระหว่างฟังก์ชั่น
ตัวอย่างที่ 2
<?php
function square($x)
{
return $x * $x;
}
echo square(10); // เรียกใช้ฟังก์ชั่น square() โดยมีการส่งค่าใน
วงเล็บ (เลข 10) ให้กับตัวแปร $x ในฟังก์ชั่นด้วย
?>
- 11. การพัฒนาเว็บเพ็จด้วยภาษา PHP 11
เอกสารประกอบการฝึกอบรมหลักสูตร “การพัฒนาเว็บไซต์จัดการฐานข้อมูลเบื้องต้นด้วยภาษา PHP+MySQL” เรียบเรียงโดย ครูสมพร ผลประพฤติ
ตัวอย่างที่ 3
ไฟล์ ohm.law
<?php
global $i, $r;
function ohm($i, $r)
{
$v = $i * $r;
print "Current I = " . $i . " ";
print "Resistance R = " . $r . "<br>";
print "The Result of Voltage V = " . $v;
}
?>
ไฟล์ testohm.php
<?php
require_once("ohm.law");
ohm(10,20);
echo "<br><br>";
$i=12.34;
$r=5.67;
ohm($i, $r);
?>
Text file
PHP สามารถติดต่อกับ text file ได้ ดังตัวอย่างมีองค์ประกอบดังต่อไปนี้
dataForm.html สาหรับเป็นฟอร์มกรอกข้อมูล
dataWrite.php สาหรับเขียน (Write) ข้อมูลลงใน text file
dataRead.php สาหรับอ่าน (Read) ข้อมูลจาก text file มาแสดง
data.txt เป็น text file สาหรับเก็บข้อมูล
ไฟล์ dataForm.html
<html>
<head>
<title> Test to Write/Read Text file </title>
</head>
- 12. การพัฒนาเว็บเพ็จด้วยภาษา PHP 12
เอกสารประกอบการฝึกอบรมหลักสูตร “การพัฒนาเว็บไซต์จัดการฐานข้อมูลเบื้องต้นด้วยภาษา PHP+MySQL” เรียบเรียงโดย ครูสมพร ผลประพฤติ
<body bgcolor = "$EBEBEB">
<form method = "post" action = "dataWrite.php">
Name : <input type = "text" name = "datName"><br>
Surname : <input type = "text" name = "datSurname"><br>
Position : <input type = "text" name = "datPosition"><br>
<p>
<input type = "submit" name = "submit" value = "Write Data">
</form>
</body>
</html>
ไฟล์ dataWrite.php
<?php
$data = "<br>Name :</b>" . $datName . "<b>Surname : </b>" . $datSurname . "<br>";
$data .= <b>Position :</b>" . $datPosition . "<br>";
$data .= <hr>n";
$fp = fopen("data.txt", "a");
fputs($fp, $data);
fclose($fp);
echo "Ready to Write file…<br>n";
echo "<a href = 'dataRead.php'>Read data from file…</a>";
?>
ไฟล์ dataRead.php
<?php
$fp = fopen("data.txt", "r");
while(!feof($fp))
{
$listdata=fgets($fp, 4096);
echo $listdata;
}
fclose($fp);
echo "<a href = 'dataForm.html'>Back to Input data…</a>";
?>
- 13. การพัฒนาเว็บเพ็จด้วยภาษา PHP 13
เอกสารประกอบการฝึกอบรมหลักสูตร “การพัฒนาเว็บไซต์จัดการฐานข้อมูลเบื้องต้นด้วยภาษา PHP+MySQL” เรียบเรียงโดย ครูสมพร ผลประพฤติ
การจัดการกับข้อความของภาษา PHP
echo, print
แสดงข้อความบนหน้าเว็บเพจ หรือส่ง Tag HTML ไปยัง Browser ทั้งสองคาสั่งนี้เป็นฟังก์ชั่นที่
แท้จริง จึงใส่วงเล็บหรือไม่ก็ได้
ตัวอย่างที่ 1
<?php
echo ("Test ECHO…<br>");
echo "Test ECHO…<br>";
print ("Test PRINT…<br>");
print "Test PRINT…<br>";
?>
การรวมข้อความ
ตัวอย่างที่ 2
<?php
$str1 = "Computer";
$str2 = "Technology";
print $str1 . " " . $str2;
?>
substr()
ใช้สาหรับเลือกส่วนหนึ่งของข้อความ ออกจากข้อความเดิม
รูปแบบ string substr(string string, int start [,int length])
ตัวอย่างที่ 3 เลือกข้อความเริ่มจากตาแหน่งที่ระบุ (ตาแหน่งแรกคือ 0) จานวนตัวอักษรที่ระบุ
<?php
$str1 = "Chanthaburi Province";
$str2 = substr($str1, 6, 4);
echo $str2;
?>
ตัวอย่างที่ 4 เลือกข้อความส่วนแรก หรือส่วนหลัง จานวนตัวอักษรเท่าที่ระบุ
<?php
$com = "Computer";
$front = substr($com, 3);
- 14. การพัฒนาเว็บเพ็จด้วยภาษา PHP 14
เอกสารประกอบการฝึกอบรมหลักสูตร “การพัฒนาเว็บไซต์จัดการฐานข้อมูลเบื้องต้นด้วยภาษา PHP+MySQL” เรียบเรียงโดย ครูสมพร ผลประพฤติ
$rear = substr($com, -5);
print $font . $rear;
?>
substr_replace()
ใช้เพื่อตัดข้อความตามที่ระบุ แล้วแทนที่ด้วยข้อความใหม่
รูปแบบ string substr_replace ( string string, string replacement, int start [, int length])
ตัวอย่างที่ 5
<?php
$str1 = "Electronic";
$str2 = "tricity";
$str3 = substr_replace($str1, str2, 4, 6);
echo $str3;
?>
str_replace()
ใช้เพื่อนาคาใหม่มาแทนที่คาเดิม ซึ่งอยู่ในข้อความที่ระบุ
ตัวอย่างที่ 6
<?php
$s1 = "one two three";
$s2 = str_replace("two", "2", $s1);
echo $s2;
?>
strpos()
ใช้เพื่อค้นหาคาที่ต้องการ ซึ่งอยู่ภายในข้อความใด ๆ โดยผลที่ได้จะเป็นตาแหน่งแรกข้อคานั้น
ตัวอย่างที่ 7
<?php
$str = "Chanthaburi Technical College";
$pos = strpos($str, "buri");
print $pos;
?>
- 15. การพัฒนาเว็บเพ็จด้วยภาษา PHP 15
เอกสารประกอบการฝึกอบรมหลักสูตร “การพัฒนาเว็บไซต์จัดการฐานข้อมูลเบื้องต้นด้วยภาษา PHP+MySQL” เรียบเรียงโดย ครูสมพร ผลประพฤติ
strlen()
ใช้เพื่อหาความยาวของ String
ตัวอย่างที่ 8
<?php
$str = "Information System";
$len = strlen($str);
print $len;
?>
trim(), ltrim(), rtrim(), chop()
ใช้เพื่อตัดช่องว่างที่อยู่ปะปนกับข้อความ
trim() ตัดช่องว่างทั้งหน้าและหลังข้อความทิ้ง
ltrim() ตัดช่องว่างเฉพาะที่อยู่ด้านหน้าข้อความทิ้ง
rtrim(), chop() ตัดช่องว่าเฉพาะที่อยู่ด้านท้ายข้อความทิ้ง
explode()
ใช้เพื่อแบ่งแยกข้อความออกเป็นคาย่อย ๆ โดยระบุอักษรหรือเครื่องหมายที่ใช้เพื่อการแบ่งแยก
รูปแบบ
ตัวอย่างที่ 9
<?php
$fullname = "Somchai Tamrongsook";
list ($name, $surname) = explode(" ", $fullname);
echo $name . "<br>";
echo $lastname;
?>
implode()
ใช้เพื่อรวมค่าใน Array ให้เป็น String
รูปแบบ string implode (string glue, array pieces)
ตัวอย่างที่ 10
<?php
$mail = array ("somporn9", "gmail.com");
$fullmail = implode("@", $mail);
print $fullmail;
?>