1 / 44

PHP: Hypertext Preprocessor

เพิ่มเติม เขียน PHP ติดต่อฐานข้อมูล MS-Access. PHP: Hypertext Preprocessor. โหลดไฟล์ที่ http://www.iamsanya.com/docfile/database1.zip. สัญญา เครือหงษ์ ภาควิชาวิทยาการคอมพิวเตอร์และเทคโนโลยีสารสนเทศ คณะวิทยาศาสตร์ มหาวิทยาลัยนเรศวร. วัตถุประสงค์การเรียนรู้ประจำบท.

rene
Download Presentation

PHP: Hypertext Preprocessor

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

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

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

  9. กำหนด ชื่อ DSN เป็น customer และ เลือก Select เพื่อ ทำการอ้างอิงไฟล์ฐานข้อมูล • จะได้ชื่อ DSN เป็น customer ใว้อ้างอิงในการติดต่อกับฐานข้อมูล

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

  11. การแสดงชื่อและจำนวนฟิวส์ของตาราง 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 ชนิดของข้อมูลเป็น COUNTER2. ฟิวส์ name ชนิดของข้อมูลเป็น VARCHAR3. ฟิวส์ surname ชนิดของข้อมูลเป็น VARCHAR

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

  13. การนำข้อมูลจากตารางมาแสดงการนำข้อมูลจากตารางมาแสดง php4-2.php <?$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)){

  14. <? if ($i%2==0) { echo "<trbgcolor=#FFFF99>"; }else{ echo "<trbgcolor=#FFCCCC>"; }?> //เพื่อสลับสีแถว ให้เขียนทับ <tr> $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);?>

  15. Out Put

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

  17. รูปแบบ 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

  18. 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>

  19. 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"ได้ทำการบันทึกข้อมูลเรียบร้อยแล้ว ";?>

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

  21. 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 ("เอ็กซิคิวส์คำสั่งไม่ได้");?>

  22. php4-5.php ต่อ <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");?>

  23. php4-5.php ต่อ <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>

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

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

  26. php4-6.php <?$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><?

  27. php4-6.php ต่อ $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>

  28. 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

  29. php4-7.php <?$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> Out put

  30. php4-8.php Out Put ได้ทำการ แก้ไขข้อมูลเรียบร้อยแล้ว <?$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"ได้ทำการ แก้ไขข้อมูลเรียบร้อยแล้ว ";?>

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

  32. php4-9.php <?$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");?>

  33. php4-9.php ต่อ Out Put <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);?>

  34. php4-10.php Out Put ได้ทำการ ลบข้อมูลเรียบร้อยแล้ว <?$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"ได้ทำการ ลบข้อมูลเรียบร้อยแล้ว ";?>

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

  36. 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

  37. <? $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

  38. ตัวอย่างการสร้างระบบ 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"ได้ทำการบันทึกข้อมูลเรียบร้อยแล้ว ";?>

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

  40. ตัวอย่างการสร้างระบบ 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

  41. <? $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

  42. อ้างอิง • www.thaicreate.com

More Related