งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

PHP:Hypertext Preprocessor

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "PHP:Hypertext Preprocessor"— ใบสำเนางานนำเสนอ:

1 PHP:Hypertext Preprocessor
เพิ่มเติม เขียน PHP ติดต่อฐานข้อมูล MS-Access PHP:Hypertext Preprocessor โหลดไฟล์ที่ สัญญา เครือหงษ์ ภาควิชาวิทยาการคอมพิวเตอร์และเทคโนโลยีสารสนเทศ คณะวิทยาศาสตร์ มหาวิทยาลัยนเรศวร

2 วัตถุประสงค์การเรียนรู้ประจำบท

3 เริ่มต้นการติดต่อกับ Access
ก่อนที่เราจะติดต่อกับฐานข้อมูลจริง ต้องรู้จักกับฟังก์ชั่นเหล่านี้ก่อน ซึ่งมีความจำเป็นมาก ๆ ในการใช้งาน

4 การที่เราจะเขียน php ติดต่อกับฐานข้อมูล Microsoft Access เราจะต้องติดตอผ่าน ODBC ซึ่งเป็น Driver ของการเชื่อมต่อฐานข้อมูล ซึ่งการติดต่อผ่าน ODBC จะต้องมีการ Set ชื่อ DSN เพื่อเป็นชื่ออ้างอิงในการติดต่อกับฐานข้อมูลนั้น ๆ สามารถศึกษาได้ที่หัวข้อถัดจากนี้

5 การ SET DSN เพื่อติดต่อกับ ACCESS
ก่อนที่เราจะ Set Dsn เราต้องมีฐานข้อมูลก่อน รู้จะ Path และ ที่อยู่ของฐานข้อมูล ในที่นี้ ฐานข้อมูลผมอยู่ที่ C:\Appserv\www\web\database.mdb เริ่มกันเลยครับ ผมจะแบ่งเป้น 2 ประเภทครับ คือ - การ Set บน Win95,Win98,WinMe เมนู Start > Sitting > Control Panel เลือก ODBC Datasources (32Bit) 1. ดับเบิ้ลคลิก

6

7 2. เลือก Add จากนั้นเลือก Microsoft Access Driver (*.mdb) -> Finish

8 กำหนด ชื่อ DSN เป็น customer และ เลือก Select เพื่อ ทำการอ้างอิงไฟล์ฐานข้อมูล

9 - การ Set บน WinXP,NT, เมนู Start > Sitting > Control Panel > Administrative Tool เลือก Data Sources (ODBC) 1. ดับเบิ้ลคลิก เลือก Tab System DSN และเลือก > Add จากนั้นเลือก Driver do Microsoft Access Driver (*.mdb) -> Finish

10 กำหนด ชื่อ DSN เป็น customer และ เลือก Select เพื่อ ทำการอ้างอิงไฟล์ฐานข้อมูล

11 ตอนที่ 1 การแสดงคุณสมบัติต่าง ๆ ของตาราง
ฐานข้อมูล C:\Appserv\www\web\database.mdb ซื่อตาราง Customer

12 การแสดงชื่อและจำนวนฟิวส์ของตาราง customer
<? $dsn_name = "customer"; $username =""; $password =""; $connect= odbc_connect($dsn_name, $username, $password) or die("ติดต่อ DSN ไม่ได้"); $sql = "select * from customer"; $execute = odbc_exec($connect, $sql) or die ("เอ็กซิคิวส์คำสั่งไม่ได้"); $num_field = odbc_num_fields($execute); for ($I=1; $I<= $num_field; $I++) { echo $I. ". ฟิวส์ <b> ".odbc_field_name($execute, $I)."</b> ชนิดของข้อมูลเป็น <b> odbc_field_type($execute, $I)"."</b><br>"; } odbc_close($connect); ?> php4-1.php Out Put 1. ฟิวส์ id ชนิดของข้อมูลเป็น COUNTER 2. ฟิวส์ name ชนิดของข้อมูลเป็น VARCHAR 3. ฟิวส์ surname ชนิดของข้อมูลเป็น VARCHAR

13 ตอนที่ 2 การนำข้อมูลจากตารางมาแสดง
ฐานข้อมูล C:\Appserv\www\web\database.mdb ชื่อตาราง customer

14 การนำข้อมูลจากตารางมาแสดง
<? $dsn_name = "customer"; $username =""; $password =""; $connect= odbc_connect($dsn_name, $username, $password) or die("ติดต่อ DSN ไม่ได้"); $sql = "select * from customer"; $execute = odbc_exec($connect, $sql) or die ("เอ็กซิคิวส์คำสั่งไม่ได้"); ?> <table border="1" width="371"> <tr> <td width="32"> <div align="center">id</div> </td> <td width="132"> <div align="center">name</div> </td> <td width="185"> <div align="center">surname</div> </td> </tr> <? $i=1; while(odbc_fetch_row($execute,$i)) { php4-2.php

15 echo "<tr bgcolor=#FFFF99>"; }else{
$id=odbc_result($execute,"id"); $name=odbc_result($execute,"name"); $surname=odbc_result($execute,"surname"); ?> <tr> <td width="35"> <div align="center"> <? echo "$id"; ?> </div> </td> <td width="129"> <? echo "$name"; ?> </td> <td width="184"> <? echo "$surname"; ?> </td> </tr> </table> <? $i++; } ?> <? odbc_close($connect); ?> <? if ($i%2==0) { echo "<tr bgcolor=#FFFF99>"; }else{ echo "<tr bgcolor=#FFCCCC>"; }?> //เพื่อสลับสีแถว ให้เขียนทับ <tr>

16 Out Put

17 ตอนที่ 3 การเพิ่มข้อมูลลงในตาราง
ฐานข้อมูล C:\Appserv\www\web\database.mdb

18 รูปแบบ insert ino ชื่อตาราง (ฟิวส์1,ฟิวส์2,ฟิวส์3...) values ('ค่า1','ค่า2','ค่า3',...) <? $dsn_name = "customer"; $username =""; $password =""; $connect= odbc_connect($dsn_name, $username, $password) or die("ติดต่อ DSN ไม่ได้"); /* จะเห็นว่า code ข้างล่างไม่ได้มีการเพิ่มฟิวส์ id เพราะ id ชนิดของข้อมูลเป็น Auto number */ $sql = "insert into customer (name,surname) values ('นายวีระชัย ','นุกิจรัมย์')"; $execute = odbc_exec($connect, $sql) or die ("เอ็กซิคิวส์คำสั่งไม่ได้"); odbc_free_result($execute); odbc_close($connect); ?> php4-3.php

19 Add ผ่าน Form php4-4.php <html> <body> <form name="form1" method="post" action=“php4-4-2.php”> Name <input type="text" name="name"> Surname <input type="text" name="surname"> <input type="submit" name="Submit" value="Submit"> </form> </body> </html>

20 php4-4-2.php <? $dsn_name = "customer"; $username =""; $password =""; $connect= odbc_connect($dsn_name, $username, $password) or die("ติดต่อ DSN ไม่ได้"); /* จะเห็นว่า code ข้างล่างไม่ได้มีการเพิ่มฟิวส์ id เพราะ id ชนิดของข้อมูลเป็น Auto number */ $sql = "insert into customer (name,surname) values (‘$name’,’$surname’)"; $execute = odbc_exec($connect, $sql) or die ("เอ็กซิคิวส์คำสั่งไม่ได้"); odbc_free_result($execute); odbc_close($connect); echo"ได้ทำการบันทึกข้อมูลเรียบร้อยแล้ว "; ?>

21 ตอนที่ 4 การค้นหาข้อมูลจากตาราง
ฐานข้อมูล C:\Appserv\www\web\database.mdb

22 php4-5.php <html> <body> <form name="form1" method="post" action=""> กรุณากรอกชื่อที่ต้องการค้นหา <input type="text" name="search_name" value="<?=$search_name;?>"> <input type="submit" name="Submit" value="Search"> </form> <? if(empty($search_name)) { ?><hr> กรุณากรอกข้อมูลด้วยครับ <? } else { $dsn_name = "customer"; $username =""; $password =""; $connect= odbc_connect($dsn_name, $username, $password) or die("ติดต่อ DSN ไม่ได้"); $sql = "select * from customer Where name like '%$search_name%'"; $execute = odbc_exec($connect, $sql) or die ("เอ็กซิคิวส์คำสั่งไม่ได้"); ?>

23 <table border="1" width="371"> <tr> <td width="32"> <div align="center">id</div> </td> <td width="132"> <div align="center">name</div> </td> <td width="185"> <div align="center">surname</div> </td> </tr> <? $i=1; while(odbc_fetch_row($execute,$i)) { $id=odbc_result($execute,"id"); $name=odbc_result($execute,"name"); $surname=odbc_result($execute,"surname"); ?> php4-5.php ต่อ

24 <table border="1" width="370"> <tr> <td width="35"> <div align="center"> <? echo "$id"; ?> </div> </td> <td width="129"> <? echo "$name"; ?> </td> <td width="184"> <? echo "$surname"; ?> </td> </tr> <? $i++; } ?> </table> <? odbc_close($connect); } ?> </body> </html> php4-5.php ต่อ

25 เพิ่มเติมครับ หากต้องการค้นหานามสกุลด้วยให้เปลี่ยนเป็น $sql = "select
** เพิ่มเติมครับ หากต้องการค้นหานามสกุลด้วยให้เปลี่ยนเป็น $sql = "select * from customer Where name like '%$search_name%' or surname like '%ค่าหรือตัวแปรที่ต้องการค้นหา%'"; Out Put

26

27 ตอนที่ 5 การแก้ข้อมูลในตาราง
ฐานข้อมูล C:\Appserv\www\web\database.mdb ชื่อตาราง customer php4-6.php xxx แก้ไข php4-7.php Form แก้ไข xxx xxx ดึงข้อมูลที่เลือกมาแก้ไข xxx บันทึกลงฐานข้อมูล php4-8.php

28 <? $dsn_name = "customer"; $username =""; $password =""; $connect= odbc_connect($dsn_name, $username, $password) or die("ติดต่อ DSN ไม่ได้"); $sql = "select * from customer"; $execute = odbc_exec($connect, $sql) or die ("เอ็กซิคิวส์คำสั่งไม่ได้"); ?> <table border="1" width="451"> <tr> <td width="36"> <div align="center">id</div> </td> <td width="125"> <div align="center">name</div> </td> <td width="210"> <div align="center">surname</div> </td> <td width="52"> <div align="center">แก้ไข</div> </td> </tr> <? php4-6.php

29 $i=1; while(odbc_fetch_row($execute,$i)) { $id=odbc_result($execute,"id"); $name=odbc_result($execute,"name"); $surname=odbc_result($execute,"surname"); ?> <table border="1" width="451"> <tr> <td width="37"> <div align="center"> <? echo "$id"; ?> </div> </td> <td width="122"> <? echo "$name"; ?> </td> <td width="212"> <? echo "$surname"; ?> </td> php4-6.php ต่อ

30 php4-6.php ต่อ <td width="52"> <div align="center"><a href=“php4-7.php?id=<?=$id;?>">แก้ไข</a></div> </td> </tr> <? $i++; } ?> </table> <? odbc_close($connect); ?> Out Put

31 <? $dsn_name = "customer"; $username =""; $password =""; $connect= odbc_connect($dsn_name, $username, $password) or die("ติดต่อ DSN ไม่ได้"); $sql="SELECT * FROM customer Where id=$id"; $execute = odbc_exec($connect, $sql) or die ("เอ็กซิคิวส์คำสั่งไม่ได้"); $id=odbc_result($execute,"id"); $name=odbc_result($execute,"name"); $surname=odbc_result($execute,"surname"); odbc_close($connect); ?> <html> <body> <form name="form1" method="post" action=“php4-8.php"> Name <input type="text" name="name" value="<?=$name;?>"> Surname <input type="text" name="surname" value="<?=$surname;?>"> <input type="submit" name="Submit" value="Update"> <input type="hidden" name="id" value="<?=$id;?>"> </form> </body> </html> php4-7.php Out put

32 <? $dsn_name = "customer"; $username =""; $password =""; $connect= odbc_connect($dsn_name, $username, $password) or die("ติดต่อ DSN ไม่ได้"); $sql = "update customer set name='$name',surname='$surname' where id=$id"; $execute = odbc_exec($connect, $sql) or die ("เอ็กซิคิวส์คำสั่งไม่ได้"); odbc_close($connect); echo"ได้ทำการ แก้ไขข้อมูลเรียบร้อยแล้ว "; ?> php4-8.php Out Put ได้ทำการ แก้ไขข้อมูลเรียบร้อยแล้ว

33 ตอนที่ 6 การลบข้อมูลในตางราง
ฐานข้อมูล C:\Appserv\www\web\database.mdb ชื่อตาราง customer

34 <? $dsn_name = "customer"; $username =""; $password =""; $connect= odbc_connect($dsn_name, $username, $password) or die("ติดต่อ DSN ไม่ได้"); $sql = "select * from customer"; $execute = odbc_exec($connect, $sql) or die ("เอ็กซิคิวส์คำสั่งไม่ได้"); ?> <table border="1" width="451"> <tr> <td width="36"> <div align="center">id</div> </td> <td width="125"> <div align="center">name</div> </td> <td width="210"> <div align="center">surname</div> </td> <td width="52"> <div align="center">ลบ</div> </td> </tr> </table> <? $i=1; while(odbc_fetch_row($execute,$i)) { $id=odbc_result($execute,"id"); $name=odbc_result($execute,"name"); $surname=odbc_result($execute,"surname"); ?> php4-9.php

35 <table border="1" width="451"> <tr> <td width="37"> <div align="center"> <? echo "$id"; ?> </div> </td> <td width="122"> <? echo "$name"; ?> </td> <td width="212"> <? echo "$surname"; ?> </td> <td width="52"> <div align="center"><a href=“php4-10.php?id=<?=$id;?>">ลบ</a></div> </td> </tr> </table> <? $i++; } ?> <? odbc_close($connect); ?> php4-9.php ต่อ Out Put

36 ได้ทำการ ลบข้อมูลเรียบร้อยแล้ว
<? $dsn_name = "customer"; $username =""; $password =""; $connect= odbc_connect($dsn_name, $username, $password) or die("ติดต่อ DSN ไม่ได้"); $sql = "delete from customer where id=$id"; $execute = odbc_exec($connect, $sql) or die ("เอ็กซิคิวส์คำสั่งไม่ได้"); odbc_close($connect); echo"ได้ทำการ ลบข้อมูลเรียบร้อยแล้ว "; ?> php4-10.php Out Put ได้ทำการ ลบข้อมูลเรียบร้อยแล้ว

37 ตัวอย่างการสร้างระบบ Login โดยใช้ฐานข้อมูล
ฐานข้อมูล C:\Appserv\www\web\database.mdb ตารางชื่อ Customer php4-11.php User : xxxx Password : ****** Login Cancel php4-12.php ยินดีต้อนรับคุณ..xx.สู่เมนูหลัก

38 php4-11.php <FORM METHOD=POST ACTION="php4-12.php">
User: <INPUT TYPE="text" NAME=“user"><BR> Password:<INPUT TYPE="Password" NAME=“pass"><BR> <INPUT TYPE="submit" value="Login"> <INPUT TYPE="reset" value=“Cancel"> </FORM> Output User : xxxx Password : ****** Login Cancel

39 ยินดีต้อนรับคุณ..xx.สู่เมนูหลัก
<? $dsn_name = "customer"; $username =""; $password =""; $connect= odbc_connect($dsn_name, $username, $password) or die("ติดต่อ DSN ไม่ได้"); $sql="SELECT * FROM customer Where user='$user' and password='$pass'"; $execute = odbc_exec($connect, $sql) or die ("เอ็กซิคิวส์คำสั่งไม่ได้"); $id=odbc_result($execute,"id"); $name=odbc_result($execute,"name"); $surname=odbc_result($execute,"surname"); odbc_close($connect); ?> <html> <body> <?if(empty($id)) { echo " ไม่พบข้อมูล"; } else {?> ยินดีต้อนรับ <B>คุณ<?=$name;?><?=$surname;?></B>.. สู่เมนูหลัก <?}?></body> </html> php4-12.php ยินดีต้อนรับคุณ..xx.สู่เมนูหลัก Output

40 ตัวอย่างการสร้างระบบ Login โดยใช้ฐานข้อมูล และใช้ MD5 ในการเข้ารหัส
ในที่นี้เพื่อเข้ารหัสพาสเวิร์ดเฉยๆ แต่ User ก้ยังจำ Password ของตัวเองปกติ เช่น ถ้ากำหนด “1234” เมื่อเข้ารหัสด้วย MD5 แล้วจะได้ “81dc9bdb52d04dc20036dbd8313ed055” เป็นต้น <? $dsn_name = "customer"; $username =""; $password =""; $pass1=md5($pass); // pass คือชื่อที่ตั้งจาก textbox ประเภท password $connect= odbc_connect($dsn_name, $username, $password) or die("ติดต่อ DSN ไม่ได้"); /* จะเห็นว่า code ข้างล่างไม่ได้มีการเพิ่มฟิวส์ id เพราะ id ชนิดของข้อมูลเป็น Auto number */ $sql = "insert into customer (user,password) values (‘$user’,’$pass1’)"; $execute = odbc_exec($connect, $sql) or die ("เอ็กซิคิวส์คำสั่งไม่ได้"); odbc_free_result($execute); odbc_close($connect); echo"ได้ทำการบันทึกข้อมูลเรียบร้อยแล้ว "; ?>

41 ยินดีต้อนรับคุณ..xx.สู่เมนูหลัก
ตัวอย่างการสร้างระบบ Login โดยใช้ฐานข้อมูล และใช้ MD5 ในการเข้ารหัส (ต่อ) Userform.php User : xxxx Password : ****** Login Cancel checkuser.php ยินดีต้อนรับคุณ..xx.สู่เมนูหลัก แต่ตอนสั่งเก็บข้อมูลหรือสมัครสมาชิกให้ใช้ฟังก์ชั่น MD5 ตรงฟิลดิ์ Password ซึ่งรองรับข้อมูล 128bits ดังนั้นตรง password อาจจะต้องกำหนดขนาดให้มากขึ้น

42 ตัวอย่างการสร้างระบบ Login โดยใช้ฐานข้อมูล และใช้ MD5 ในการเข้ารหัส (ต่อ)
Userform.php <FORM METHOD=POST ACTION=“checkuser.php”> User: <INPUT TYPE="text" NAME=“user"><BR> Password:<INPUT TYPE="Password" NAME=“pass"><BR> <INPUT TYPE="submit" value="Login"> <INPUT TYPE="reset" value=“Cancel"> </FORM> Output User : xxxx Password : ****** Login Cancel

43 ยินดีต้อนรับคุณ..xx.สู่เมนูหลัก
<? $dsn_name = "customer"; $username =""; $password =""; $pass1=md5($pass); // ใช้ MD5 $connect= odbc_connect($dsn_name, $username, $password) or die("ติดต่อ DSN ไม่ได้"); $sql="SELECT * FROM customer Where user='$user' and password='$pass1'"; $execute = odbc_exec($connect, $sql) or die ("เอ็กซิคิวส์คำสั่งไม่ได้"); $id=odbc_result($execute,"id"); $name=odbc_result($execute,"name"); $surname=odbc_result($execute,"surname"); odbc_close($connect); ?> <html> <body> <?if(empty($id)) { echo " ไม่พบข้อมูล"; } else {?> ยินดีต้อนรับ <B>คุณ<?=$name;?><?=$surname;?></B>.. สู่เมนูหลัก <?}?></body> </html> checkuser.php ยินดีต้อนรับคุณ..xx.สู่เมนูหลัก Output

44 อ้างอิง


ดาวน์โหลด ppt PHP:Hypertext Preprocessor

งานนำเสนอที่คล้ายกัน


Ads by Google