วันอาทิตย์ที่ 19 กันยายน พ.ศ. 2553

ระบบสมัครสมาชิก ตอนที่ 3 ตรวจสอบชื่อผู้ใช้งาน

บทความตอนนี้ผมจะสอนการเขียนสคริปต์พีเอชพี ตรวจสอบชื่อผู้ใช้งาน (Username) ว่าซ้ำกันหรือไม่ ซึ่งกฏขั้นพื้นฐานของการพัฒนาเว็บแอพพลิเคชั่น คือ ชื่อผู้ใช้งาน หรือ Username ของแต่ละคนจะต้องไม่ซ้ำกัน เพราะมันมีความจำเป็นต่อการเข้าถึงข้อมูลของบุคคลนั้นๆ  ซึ่งผลลัพธ์ที่ได้จะแสดงผลดังรูป




กรณีที่ผู้ใช้งานกรอกชื่อผู้ใช้งาน(Username)ซ้ำ จะปรากฎไดอะล็อกนี้ขึ้นมา และให้กรอกข้อมูลใหม่อีกครั้ง 


เรามาดูกันว่า เราจะสามารถเขียนโค๊ดเพื่อตรวจสอบชื่อผู้ใช้งานกันยังไง มาลุยกันเลยคับ!!!!

แต่ก่อนอื่น….ท่านได้ศึกษาบทความเหล่านี้หรือยัง
++เปิดโปรแกรมDreamweaver และเปิดไฟล์ register.php ขึ้นมา คลิกที่มุมมอง show view code จากนั้นให้ import ไฟล์ config.php เข้ามายังเอกสารหน้านี้ ดังรูป


ให้เขียนคำสั่งดังรูปเลยคับ ให้โค๊ดอยู่บรรทัดแรกสุดเลยคับ
++จากนั้นให้กำหนด ค่า VALUE ให้กับControl ตามที่ผมได้ขีดเส้นใต้นี้เลยคับ


ภาพนี้เป็นการรับค่า Parameter Request จากการส่งค่ามาแล้วรับเอามาแสดงผลที่เดิม เพื่อไม่ให้ค่าที่เรากรอกตั้งแต่แรกหายไป 
++จากนั้นให้พิมพ์สคริปต์พีเอชพี ต่อจากสคริปต์ของ Javascript ดังรูป


บรรทัดที่ 73 เอาปุ่มbuttonมาตรวจเช็คดูค่าว่า ขณะนี้ได้มีการ ร้องขอ request มาที่ serverแล้วหรือยัง หากพบค่าที่ร้องขอ ให้ทำงานตั้งแต่บรรทัดที่ 74-89 
บรรทัดที่ 74 – 81 นำค่าที่ส่งมาจาก Parameter Request ($_POST[]) เอาค่ามาเก็บไว้ในตัวแปร 
บรรทัดที่ 82 เขียนคำสั่งsql เก็บไว้ในตัวแปร $sql_ChkUser โดยกำหนดเงื่อนไข WHERE mb_user=$user ซึ่งเราจะนำค่านี้ไปตรวจสอบดูว่า มีชื่อผู้ใช้งานนี้แล้วหรือยัง 
บรรทัดที่ 83 เรียกใช้ฟังก์ชั่น Execute ของ Adodb เพื่อส่งคำสั่งsqlไปยังฐานข้อมูล แล้วreturn ผลลัพธ์กลับมาเก็บไว้ในตัวแปร $rs_ChkUser ซึ่งมันจะreturn ค่าเป็นจำนวนเรคคอร์ด
บรรทัดที่ 84 ตรวจเช็คดดูว่ามีชื่อผู้ใช้งานนี้อยู่หรือไม่ หากว่ามีผู้ใช้งานนี้ ($rs_ChkUser->fields[0]>0) ให้เขียนโค๊ดบรรทัดที่ 85-86 เพื่อแสดงไดอะล็อกเพื่อบอกให้รู้ว่า ชื่อผู้ใช้งานนี้มีคนใช้งานอยู่แล้ว 
แล้วพบกันอีก ในบทความความตอนต่อไปครับ ซึ่งเป็นตอนสุดท้ายของระบบสมัครสมาชิก

6 ความคิดเห็น :

  1. ไม่ระบุชื่อ11 กันยายน 2555 เวลา 20:23

    ""/> ไอที่พิมนี้คือต้องพิมใส่ทุกอันเลยหลอครับ หรือพิมแค่อันที่ไม่อยากให้ซ้ำ เพราะบางอย่างมันอาจจะซ้ำกันได้ เช่น เลขไปษณี หรือ ชื่อคน อะไรอย่างนี้ครับ

    ตอบลบ
  2. ไม่ระบุชื่อ11 กันยายน 2555 เวลา 20:26

    ผมไปกดโดนอะไรก็ไม่รู้ หน้าcode view ตัวcodeมันตัวเล็กนิดเดียวเองอะ มันอ่านยากมาเยย รู้วิธีแก้ไขรึป่าวครับ

    ตอบลบ
  3. ไม่ระบุชื่อ11 กันยายน 2555 เวลา 21:18

    ผมใส่code ตามบรรทัดที่73-86 แล้วกดเป็นหน้า design แล้วตรงช่องที่จะให้เติด ชื่อ สกุล อีเมล และอื่นๆ มันหายไปหมดเยยอะครับ เหลือแต่ให้กดปุ่ม register
    แก้ยังไงดีครับ

    ขอบคุณครับ

    ตอบลบ
  4. พี่คับมันขึ้น ว่า Fatal error: Call to a member function Execute() on a non-object in C:\AppServ\www\ourai\Untitled-1.php on line 97 แล้วบรรทัดนี้คือ $rs_ChkUser=$conn->Execute($sql_ChkUser);

    ตอบลบ
    คำตอบ
    1. ไม่พบฟังกช์่น Execute ครับ ต้องเรียก ADODB เข้ามาก่อนครับ
      ศึกษาตามนี้ครับ
      http://php-for-ecommerce.blogspot.com/search/label/ADODB

      ลบ
    2. http://image.ohozaa.com/view2/xD5jL4yctORtAF6q ขึนแบบยี้แก้ยังไงครับ ๆ ไม่รู้ทำไงละ

      ลบ