Chapter IV : สร้างการติดต่อ
Overview Web page connection database server
การติดต่อฐานข้อมูลด้วย php 1. mysql_connect(); ฟังก์ชันทำการติดต่อกับเซิฟเวอร์ mysql_connect(“hostname”,”usn”,”password”); 2. mysql_select_db(); ฟังก์ชันทำการติดต่อเลือกฐานข้อมูล mysql_select_db(“dbname”,”server_connection”);
ตัวอย่างการติดต่อกับเซิฟเวอร์และฐานข้อมูลด้วย php connect.php เพิ่ม โค้ด utf8 ก่อนปิดแท็ก php
กำหนดภาษาไทย สำหรับ utf8 เพิ่ม โค้ดนี้ในไฟล์ connect.php
Run…ทดสอบการทำงาน 1. เปิดเว็บเบราส์เซอร์ ( IE,Mozilla,etc) 2. ระบุ url ในช่อง address bar ดังนี้ http://localhost/b/connect.php b คือ โฟลเดอร์ที่จัดเก็บไฟล์งาน 3. หากไม่ปรากฏข้อความผิดพลาดใด ๆ แสดงว่า ชุดคำสั่ง ถูกต้อง สามารถเชื่อมต่อเซิฟเวอร์ และ ฐานข้อมูล ได้
Open Directory
Basic Form Login
Overview Form Login yes query usn&&pwd ==0 Success page database no
การสร้างฟอร์มตรวจสอบสิทธิ์เบื้องต้น 1. ต้องการไฟล์ connect.php 2. ต้องการตารางที่มี username และ password (tb_usn) 3. ต้องการฟอร์มรับข้อมูล form_login.html 4. ต้องการไฟล์สำหรับตรวจสอบ check_login.php
สร้างตาราง tb_usn ในฐานข้อมูล prg2x - สร้างตารางขนาด 4 ฟิลด์ กำหนดชื่อ ชนิด ขนาด ตามภาพ และกำหนดให้ ฟิลด์ sys_id มีลักษณะ เพิ่มเติม แบบ auto_increment และกำหนดให้เป็น pk
- หลังจากสร้างตารางแล้ว เลือก “แทรก” เพื่อป้อนข้อมูลทดสอบ 1 ระเบียน ข้อมูลนี้จะใช้สำหรับทดสอบการ login
สร้างฟอร์ม form_login.html <form method=“post” action=“check_login.php”> type=“text” name=“usn” type=“password” name=“pwd” </form>
form_login.html
Step:1 1. การ run เริ่มที่ เพจ form_login.html ด้วย url : http://localhost/prg2x/form_login.html 2. ป้อน username และ password แล้วคลิก 3. แท็กฟอร์ม จะทำหน้าที่ในการส่ง ข้อมูล username และ password ที่ป้อน ไปยัง check_login.php ด้วยชื่อ usn และ pwd (ชื่อของ text filed)
สร้างไฟล์ check_login.php จาก – Step:2 Step:6
Step:2 Step:1 include usn,pwd 4. เพจ check_login.php มีหน้าที่ในการตรวจสอบ ชื่อผู้ใช้ และ รหัสผ่านที่ ส่งมา จาก form_login.html และในการเข้าสู่ฐานข้อมูลต้องมีการขอเข้าใช้ด้วยคำสั่ง include (“connec.php”); เพื่อ เปิดการติดต่อ 5. เพจ check_login.php ทำการรับ ค่าที่ส่งมาให้ โดยการใช้คำสั่งดังนี้ $usn=$_POST[“usn”]; // รับด้วยตัวแปร ชื่อ usn $pwd=$_POST[“pwd”]; // รับด้วยตัวแปร ชื่อ pwd
Step:3 $usn&&$pwd $nqc=? 6. เพจ check_login.php จะทำการสืบค้นฐานข้อมูล prg2x ใน ตาราง tb_usn ว่ามี username และ password ตรงตามที่ผู้ใช้ป้อนมาหรือไม่ โดยเทียบค่าที่ได้กับฟิลด์ usn และ pwd ด้วยตัวแปรที่รับมา โดยใช้คำสั่ง $qc=mysql_query(“select * from tb_usn where usn=‘$usn’&&pwd=‘$pwd’ ”); 7. ทำการนับ ผลลัพธ์ที่ได้จากการสืบค้นด้วยคำสั่ง mysql_num_rows() ผลที่ได้ จะให้ค่าเป็นตัวเลขและเก็บค่าตัวเลขไว้ในตัวแปร $nqc $nqc=mysql_num_rows($qc);
Step:4 Step:3 if($nqc==0) Step:6 Step:5 yes no { } else { } 8. จากขั้นตอนที่ 7 ตัวแปร $nqc จะมีค่าเป็น 0 (ไม่พบ ชื่อ และ รหัสผ่าน) หรือ 1 (พบ ชื่อ และ รหัส ตรงกับที่ป้อน) 9. ดังนั้นเราจะสามารถนำตัวแปร $nqc มาเข้าเงื่อนไข if เพื่อเลือกจัดการกับทั้ง 2 กรณี (0,1) โดยเริ่มจากเงื่อนไข ว่า ==0 หรือไม่ ถ้า ใช่ แสดงว่า ชื่อ และ รหัสผ่าน ที่ป้อน ผิดพลาด (เพราะค้นหาในฐานข้อมูลไม่พบ)
Step:5 10. กำหนดขั้นตอน เมื่อ เข้าสู่ระบบ อย่างไม่ถูกต้อง โดยจากโค้ดตัวอย่าง กำหนดให้ แสดงข้อความ ว่า Invalid Username or Password หลังจากนั้น ให้ทำการ กลับไปยังเพจ form_login.html โดยมีการหน่วงเวลา (เพื่อให้เห็นข้อความข้างต้น) เป็นเวลา 2 วินาที ด้วยคำสั่ง echo “<meta http-equiv=‘refresh’ content=‘2; url=form_login.html’>”;
Step:6 11. และหากเงื่อนไขเป็นเท็จ (!=0) กำหนดขั้นตอน เมื่อ ชื่อ และ รหัสผ่าน ถูกต้อง จากโค้ดตัวอย่าง สั่งให้แสดงข้อความว่า Login success , Welcome panda 12. ปิดการเชื่อมต่อกับฐานข้อมูล (บรรทัดท้ายสุด) ด้วยคำสั่ง mysql_close($connect); ข้อความนี้ จะเปลี่ยน ไปตาม ชื่อ ที่ป้อน
yes no
Open Directory