Transcript Slide 1

PHP07 :: PHP back office
PHP07 :: PHP back office
โดย อ. นัฐพงศ์ ส่งเนียม
http://www.siam2dev.com
ตำแหน่งที่เก็บของไฟล์
• ไฟล์ฐำนข้อมูล mobile_db
c:\appserv\mysql\data\mobile_db
• ไฟล์เว็บเพจ mobile
c:\appserv\www\mobile
รำยชื่อไฟล์เว็บเพจต่ำง ๆ ที่จำเป็ น
Index.php + Login.php
Authenticate.php
Admin_Manage_Member.php
Customer.php
Admin_Manage_Product.php
Admin_Delete_Product.php
1.Admin_Add_Product.php
2.Admin_AddNew_Product.php
1.Admin_Edit_Product.php
2.Admin_Update_Product.php
สร้าง site และ สร้างไฟล์ต่าง ๆ ดังรูป
ออกแบบไฟล์
Admin_manage_member.php
หรื อ
Admin_manage_product.php
สร้างฐานข้อมูล
สร้ างตาราง Member
Member
- Mid
- fullname
- username
- password
-address
- e_mail
- tel
สร้างฐานข้อมูล
สร้ างตาราง Product
Product
- ProID
- ProName
- ProVer
- ProQTY
- ProPrice
- ProImg
- ProTypeID
สร้ างตาราง Product
CREATE TABLE `Product` ( `ProID` VARCHAR( 6 ) NOT
NULL ,
`ProName` VARCHAR( 50 ) NOT NULL ,
`ProVersion` VARCHAR( 50 ) NOT NULL ,
`ProQTY` INT NOT NULL ,
`Proprice` DOUBLE NOT NULL ,
`ProImg` VARCHAR( 100 ) NOT NULL ,
`ProTypeID` VARCHAR( 3 ) NOT NULL ,
PRIMARY KEY ( `ProID` )
) ENGINE = MYISAM ;
แทรกข้อมูลในตำรำง Product
คำสัง่ SQL ในกำรเพิม่ ข้อมูล
คำค้น SQL:
INSERT INTO `dogspadb`.`product` ( `ProID` ,
`ProName` ,
`ProVersion` ,
`ProQTY` ,
`Proprice` ,
`ProImg` ,
`ProTypeID`
)
VALUES ( 'm00002', 'sumsung', 'v3', '20', '15000.25', 'p002.jpg',
't001'
);
จัดกำรฐำนข้อมูลด้วย PHPMyAdmin
สร้ำงฐำนข้อมูลใหม่
ออกแบบตำรำง Product
• กำรจัดกำรกับสิ นค้ำ (Product)
- Product
-ProID(PK)
-ProName
-ProVersion
-ProPrice
-ProQTY
-ProImg
-ProTypeID(FK)
ออกแบบตำรำง Product
เพิม่ ข้อมูลลงในตำรำง Product
เพิม่ ข้อมูลลงในตำรำง Product (SQL)
สร้ำงตำรำง ProductType
กำรสร้ำงไซต์สำหรับเขียนคำสัง่ PHP
กำรสร้ำงไซต์สำหรับเขียนคำสัง่ PHP
กำรสร้ำงไซต์สำหรับเขียนคำสัง่ PHP
กำรสร้ำงไซต์สำหรับเขียนคำสัง่ PHP
กำรสร้ำงไซต์สำหรับเขียนคำสัง่ PHP
กำรสร้ำงไซต์สำหรับเขียนคำสัง่ PHP
กำรสร้ำงไซต์สำหรับเขียนคำสัง่ PHP
กำรสร้ำงไซต์สำหรับเขียนคำสัง่ PHP
แทรกตำรำงในไฟล์ Manage_Product.php
สร้ำงไฟล์ ShowProduct.php
ออกแบบหน้ำจอสำหรับแสดงข้อมูลสิ นค้ำจำกฐำนข้อมูล
PHP
แทรกตำรำง 9 แถว 2 คอลัมน์
กำหนดให้ตำรำงอยูต่ รงกลำงหน้ำจอ
ผสำนเซลล์แถวบนสุ ด
พิมพ์ขอ้ ควำมในแถวแรก ดังรู ป
เพิ่มรำยละเอียด ดังนี้ พร้อมทั้งจัดข้อควำมให้ชิดขวำ
ลากเมาส์ คลุมข้ อความทุกคอลัมน์ แล้ วคลิกทีน่ ี่
ออกแบบหน้ำจอในกำรจัดกำรกับสมำชิก
หน้ านีส้ าหรับ Admin หรือผู้ดูแลระบบใช้ ในการจัดการ เพิม่ ลบ
แก้ ไข ข้ อมูลสมาชิก
เพิ่มข้อควำมแถวล่ำงสุ ด ดังนี้
เลือกตำรำง เพื่อเข้ำไปที่หน้ำต่ำง code
หน้ำต่ำง code
เลื่อน ลงไปด้ำนล่ำงหลัง คำสัง่ </table>
เขียนคำสัง่ PHP เพื่อติดต่อฐำนข้อมูล
ไปด้ำนล่ำงเขียนคำสัง่ ดังนี้
แทรกคำสัง่ หลัง แท็ก <tr> ของแถวแรก
แทรกก่อนคำสัง่ </table>
แสดงข้อมูลสิ นค้ำแต่ละฟิ ลด์
ผลลัพธ์
แทรกเส้นคัน่ แนวนอน <HR>
กำรแสดงรู ปภำพ HTML
<img src=“p001.jpg”>
<img src=“<?PHP echo mysql_result($result,$i,5);?>”>
กำรแสดงรู ปภำพ HTML & PHP
กำหนดขนำดของรู ป
เรำสำมำรถกำหนดขนำดได้ ดังนี้
เรำสำมำรถกำหนดขนำดได้ ดังนี้
<body>
คาสั่ งในไฟล์
<?php
Admin_Del_Member.php
$host ="localhost";
แทรกไว้ ใน แท็ก <Body></Body>
$un = "root";
$pwd = "123";
$del_id = $_GET["id"];
$strSQL = "delete from member where id=" . $del_id;
$myconn = mysql_connect($host,$un,$pwd);
if($myconn) {
$result = mysql_db_query("MobileDB",$strSQL,$myconn);
$affectedrow = mysql_affected_rows();
if($affectedrow > 0) {
echo "ลบข้อมูลเรียบร้อยแล้ว";
} else {
echo "ไม่สามารถลบข้อมูล นี้ ได้" . "<a
href='admin_manage_member.php'>home</a>";
}
} else {
echo "ติดต่อฐานข้อมูลไม่ได้";
}
?>
ออกแบบหน้ำจอในไฟล์ Admin_Manage_Product.php
คาสั่ งในไฟล์
<?php
Admin_Del_Product.php
$host = "localhost";
แทรกไว้ ใน แท็ก <Body></Body>
$un = "root";
$pwd = "123";
$del_id = $_GET["id"];
$strSQL = "delete from product where p_id='" . $del_id . "'";
$myconn = mysql_connect($host,$un,$pwd);
if($myconn) {
$result = mysql_db_query("MobileDB",$strSQL,$myconn);
$affectedrow = mysql_affected_rows();
if($affectedrow > 0) {
echo "ลบข้อมูล เรียบร้อยแล้ว" .
"[<a href='admin_manage_product.php'> home</a>]";
} else {
echo "ไม่สามารถลบข้อมูลได้ " .
"[<a href='admin_manage_product.php'> home</a>]";
}
} else {
echo "ติดต่อฐานข้อมูลไม่ได้";
}
?>
การ Re-direct โดยใช้ PHP
ใน PHP มีคาสั่ งที่ใช้ ในการส่ ง HTTP header คือ คาสั่ ง header มีรูปแบบคือ
void header ( string string [, bool replace [, int http_response_code]])
การ Re-direct โดยใช้ PHP สามารถทาได้ 2 แบบคือ
1. ทาการ Re-direct ไปยังเว็บไซต์ ใหม่ ทนั ทีโดยใช้ location header มีรูปแบบ
คือ
<?
header("location:http://www.phpconcept.com/newpage/");
exit;
?>
2. ทาการ Re-direct ทันทีโดยใช้ refresh header มีรูปแบบคือ
ตัวอย่างนีแ้ สดงให้ เห็นว่ าเราสามารถทาการ Re-direct ไปยังเว็บเพจใหม่ ได้ โดยการ
กาหนดให้ เวลามีค่าเป็ น 0 วินาที
<?
header( ''refresh: 0; url=http://www.phpconcept.net/newpage/'' );
?>
การ Re-direct โดยใช้ PHP (ต่ อ)
นอกจากนีค้ ุณยังสามารถเขียน url สั้ นๆ ได้ หากเป็ นการ Re-direct ไปที่เว็บ
เซิร์ฟเวอร์ เดียวกัน
<?
header( ''refresh: 5; url=/webdsn/'' );
?>
<?
header( ''refresh: 3; url=/'' );
?>
ข้ อควรระวังก็คอื การใช้ คาสั่ ง header() นีจ้ ะต้ องถูกเรียกใช้ ก่อนทีจ่ ะมีการส่ งค่ า
อืน่ ๆ เพือ่ ให้ บราวเซอร์ แสดงผล คุณจะไม่ สามารถนา HTML tags บรรทัด
ว่ างๆ หรือแม้ แต่ กระทัง่ ช่ องว่ างเพียง 1 ช่ องแทรกไว้ ก่อนคาสั่ งนี้
เช่ นดังตัวอย่างต่ อไปนี้
<html>
<?php
/* This will give an error. Note the output
* above, which is before the header() call */
header(''Location:
http://www.example.com/'');
?>
คาสั่ ง header() นีส้ ามารถใช้ งานได้ หลากหลายเช่ น สามารถกาหนดให้ เว็บเพจ
หมดอายุได้ เช่ นกัน คุณสามารถอ่ านรายละเอียดเพิม่ เติมของคาสั่ ง header()
นีไ้ ด้ ที่ http://www.php.net/header ครับ
ต.ย. แบบ Redirect แบบ java script
echo "<script language='javascript'>
setTimeout(window.location='admin_mana
ge_product.php',10000);
</script>";
กำรเพิ่มข้อมูล
• ออกแบบหน้ำจอในไฟล์ เพิ่มข้อมูล
Admin_AddNew_Product.php
• เขียนคำสัง่ ในไฟล์ Admin_Update_Product.php
<html>
<head>
<title>Add to Student</title>
<meta http-equiv="Content-Type" content="text/html; charset=tis-620">
</head>
<body>
<?php
$hostname = "localhost";
$username = "<ใส่ Username>";
$password = "<ใส่ Password>";
$dbname = "school";
$conn = mysql_connect( $hostname, $username, $password );
if ( ! $conn )
die ( "ไม่ สามารถติดต่ อกับ MySQL ได้ " );
mysql_select_db ( $dbname, $conn )
or die ( "ไม่ สามารถเลือกฐานข้ อมูล school ได้ " );
$SQLTXT = "INSERT INTO student ( stdid, stdname ) ";
$SQLTXT .= "VALUES ( '$stdid', '$stdname' ) ";
mysql_query( $SQLTXT, $conn )
or die ( "INSERT มีข้อผิดพลาดเกิดขึน้ " ) . mysql_error();
mysql_close ( $conn );
?>
<p align="center"><font size="2" face="Tahoma, MS Sans Serif"><strong>เพิม่
ข้ อมูลลงฐานข้ อมูลแล้ว</strong></font></p>
<p align="center"><font size="2" face="Tahoma, MS Sans Serif"><a href="code
14_022.php">คลิกทีน่ ี่เพือ่ ไปดู</a></font></p>
</body>
</html>
คาสั่ งอืน่ ทีค่ วบคุมการทางาน
1. include เช่น incude("connect.inc") หรื อ include "connect.inc"
2. include_once เช่น include_once("connect.inc") หรื อ
include_once "connect.inc"
3. require เช่น require("connect.inc") หรื อ require "connect.inc"
4. require_once เช่น require("conect.inc") หรื อ require_once
"connect.inc"
คาสั่ งอืน่ ทีค่ วบคุมการทางาน
• คำสั่ ง Include
รูปแบบ
include(‘File’);
<?
include(“member.inc”);
}
?>
คาสั่ งอืน่ ทีค่ วบคุมการทางาน
► คำสัง่ Include
รูปแบบ
<?php
include(‘File’);
$n =12;
If($n==12) {
include(“on.inc”);
} else {
include(“off.inc”);
} ?>
คาสั่ งอืน่ ทีค่ วบคุมการทางาน
• คำสั่ ง require
รูปแบบ
require(‘File’);
<?php
require(‘header.inc’);
?>
Include กับ require
include() กับ include_once() เมื่อใช้ แล้ว ถ้ าไม่ พบไฟล์
ตามทีร่ ะบุ จะรายงาน error แค่ Warning เท่ านั้นแล้วข้ ามไป
ส่ วนอืน่ ต่ อ นิยมใช้ เรียกไฟล์ข้อความ หรือ html ธรรมดา เพราะไม่
ค่ อยจาเป็ น โปรแกรมยังสามารถข้ ามไปทางานส่ วนอืน่ ต่ อได้ อกี
require() กับ require_once() ซึ่งถ้ าไม่ พบไฟล์ตามที่ระบุ
แล้ว จะรายงาน error มาเป็ น Final error และจะโปรแกรม
จะหยุดทางาน นิยมใช้ เรียกไฟล์ทเี่ ก็บฟังก์ชัน, คลาส หรือค่ า
config ต่ าง ๆ ที่มีความจาเป็ นมาก เพราะถ้ าข้ ามการเรียกไฟล์ ส่วน
นีไ้ ปผลลัพธ์ ส่วนถึงแม้ รันออกมาได้ กไ็ ม่ มีประโยชน์
คาสั่ งอืน่ ทีค่ วบคุมการทางาน
• คำสั่ ง redirect
รูปแบบ
header(“Location :URL”);
<?php
header(“Location: http://www.obec.go.th”);
?>
Function
ชนิดของฟังก์ ชั่น
• ฟังก์ชนั่ ที่ผใู้ ช้สร้ำงขึ้นเอง
• ฟังก์ชนั่ สำเร็ จรู ป
ฟังก์ ชั่นทีผ่ ู้ใช้ สร้ างขึน้ เอง
• ฟังก์ ชั่นที่ไม่ มีการส่ งค่ าระหว่ างฟังก์ ชั่น
• ฟังก์ ชั่นที่มีการส่ งค่ าระหว่ างฟังก์ ชั่น
ฟังก์ ชั่นทีไ่ ม่ มีการส่ งค่ าระหว่ างฟังก์ ชั่น
function ชือ
่ ฟังกชั
่ ()
์ น
{
โคดโปรแกรม
PHP
้
}
ชือ
่ ฟังกชั
่ (); //เรียกใช้งำน
์ น
Function
• ex07_02.php
• ex07_02_1.php
มีการส่งค่ารูปแบบ
function ชื่อฟังก์ ชั่น (parameter)
{
return คาสั่ งที่กาหนดการทางานของฟังก์ชั่น;
}
ชื่อฟังก์ ชั่น(parameter);
ฟังก์ ชั่นสาเร็จรูป
ฟังก์ ชั่นด้ านเวลา
• Date () เป็ นการแสดง วัน/ดือน/ปี ปัจจุบัน
date(“รูปแบบ”);
<?php
date(“d/m/y H:i:s”)
?>
รหัสตัวอักษรในการกาหนดรูปแบบ
•
•
•
•
•
•
•
•
a = am หรื อ pm
A = AM หรื อ PM
d = วันที่แบบสองหลัก เช่น 25
D = ชื่อวันภำษำvอังกฤษแบบย่อ เช่น Fri
F = ชื่อเดือนแบบเต็ม เช่น January
h = ชัว่ โมงแบบสองหลัก เช่น 01 ถึง 12
H = เวลำแบบ 2 หลัก เช่น 00 ถึง 23
g = เวลำแบบหลักเดียว เช่น 1 ถึง 12
รหัสตัวอักษรในการกาหนดรูปแบบ
• G = ชัว
่ โมงแบบหลักเดียว
• i = นำที 00 ถึง 59
• j = แสดงวันที่ 1 ถึง 31
เช่น 1 ถึง 12
ฟังก์ ชั่นด้ านเวลา
• getdate () เป็ นกำรแสดง วัน/ดือน/ปี ปัจจุบนั ในลักษณะอำร์เรย์ เช่น
<?php
$today = getdate();
$month = $today[month];
$mday = $today[mday];
$yeay = $today[year];
echo “$month $mday $year”;
?>
ฟังก์ ชั่นทางด้ านคณิตศาสตร์
ตัวอย่ างค่ าคงทีใ่ น PHP
• M_PI = Pi
• M_E = e
• M_LOG2E = log_2 e
• M_PI_$ = pi/4
• M_SQRT2 = sqrt(2)
ฟังก์ ชั่นอืน่ ๆ
•
•
•
•
•
•
•
sqrt (float arg);
pow (float base, float exp);
log (float arg);
max (mixed arg1, mixed arg2, mixed argn);
bindec(binary_string);
octdec(octal_string);
hexdec(string hex_string);
การสร้ างและลบไดเร็กทอรี่
รู ปแบบ
mkdir(directory_name, mode);
rmdir(directory_name);
Mode = ระบุสิทธิในการใช้ ไดเร็คทอรี
r=
r+ =
w=
w+ =
a=
a+ =
เปิ ดไฟล์เพือ่ อ่านอย่ างเดียว
เปิ ดไฟล์เพือ่ อ่านและเขียน
เปิ ดไฟล์เพือ่ เขียนใหม่
เปิ ดไฟล์เพือ่ เขียนและอ่าน
เปิ ดไฟล์เพือ่ เขียนอย่ างเดียว
เปิ ดไฟล์เพือ่ อ่านและเขียน
ฟังก์ ชั่นด้ านจัดการไฟล์
•
•
•
•
•
fopen(“path และชื่อไฟล์ ”, “Mode”);
fclose($file); ปิ ดแฟ้ มข้ อมูล
fputs() บันทึกข้ อมูล
fgets() อ่ านข้ อมูล
feof() ตรวจสอบแฟ้ มข้ อมูล
ฟังก์ ชั่นด้ านเมล์
mail(to, subject, message, [header]);
Headers เป็ นข้ อมูลชนิดข้ อความ ซึ่งจะไม่
ระบุกไ็ ด้ เช่ น From, Cc, Bcc
ฟังก์ ชั่นด้ านข้ อความ
•
•
•
•
•
•
chr() แปลงค่ า ASCII เป็ นตัวอักษร
ord() แปลงตัวอักษรเป็ นรหัส ASCII
htmlspecialchars() แสดงแท็ก HTML ในเว็บเพจ
strlen() ขนาดความยาวข้ อความ
strtoupper() ทาให้ ข้อความเป็ นตัวพิมพ์ใหญ่
strtolower() ทาให้ ข้อความเป็ นตัวพิมพ์เล็ก
ฟังก์ ชั่นด้ านจัดการข้ อความ
ex07_21.php
ex07_22.php
ex07_23.php
ex07_24.php
ex07_25.php
ex07_27.php
ex07_28.php
ex07_30.php
ex07_31.php
ex07_32.php
ex07_33.php
ex07_34.php
ฟังก์ ชั่น Ltrim(),Chop(),Trim()
ฟังก์ ชั่น chr()
ฟังก์ ชั่น ord()
ฟังก์ ชั่น explode(),split()
ฟังก์ ชั่น implode(),join()
ความยาวของข้ อความ
ฟังก์ ชั่น strpos() แสดงตาแหน่ ง
ฟังก์ ชั่น strrev()
ฟังก์ ชั่น strtolower()ทาให้ เป็ นตัวเล็ก,strtoupper()ทาให้ เป็ นตัวใหญ่
ฟังก์ ชั่น ucfirst() ทาตัวแรกให้ เป็ นตัวใหญ่ ,ucwords()ทาให้ ตัวแรกของคาเป็ นตัวใหญ่
ฟังก์ ชั่น ereg_replace(),eregi_replace(),str_replace() ค้ นหาแทนทีค่ า
ฟังก์ ชั่น substr()