Devdit
 

PHP เช็ค username ซ้ำ ฐานข้อมูล MySQL/MariaDB

2K

PHP เช็ค username ซ้ำ ฐานข้อมูล MySQL/MariaDB บทความนี้สอนเขียนภาษา PHP ร่วมกับฐานข้อมูล MySQL/MariaDB เพื่อเช็คว่า username ที่ผู้ใช้งานสมัครสมาชิกมา ซ้ำหรือไม่ สามารถเขียนโปรแกรมได้ดังนี้

 

ตัวอย่าง ข้อมูลของตาราง member

+----+----------+----------+
| id | username | password |
+----+----------+----------+
|  1 | devdit   | 012345   |
+----+----------+----------+

 

ตัวอย่าง PHP เช็ค username ซ้ำ ฐานข้อมูล MySQL/MariaDB

<form action="<?=$_SERVER['PHP_SELF'];?>" method="POST">
    <div>
        <div>ชื่อผู้เข้าใช้งาน</div>
        <input type="text" placeholder="ชื่อผู้เข้าใช้งาน" name="username" autocomplete="off">
    </div>
    <div>
        <div>รหัสผ่าน</div>
        <input type="password" placeholder="รหัสผ่าน" name="password">
    </div>
    <div>
        <input type="submit" value="สมัครสมาชิก">
    </div>
</form>
<?php
    isset( $_POST['username'] ) ? $username = $_POST['username'] : $username = "";
    isset( $_POST['password'] ) ? $password = $_POST['password'] : $password = "";

    if( !empty( $username ) && !empty( $password ) ) {
        $c = mysqli_connect( "127.0.0.1", "root", "", "demo" );
		mysqli_query( $conn, "SET NAMES UTF8" );
		
        $sql = " SELECT id FROM member WHERE ( username = '{$username}' ) ";
        $q = mysqli_query( $c, $sql );
        $f = mysqli_fetch_assoc( $q );

        if( empty($f['id']) ) {

            $sql = "
                    INSERT INTO
                    member
                    ( id, username, password )
                    VALUES
                    ( NULL, '".$username."', '".$password."' )
                ";
            $q = mysqli_query( $c, $sql );
            if( $q ) {
                echo "สมัครสมาชิกเรียบร้อยแล้ว";
            }

        } else {
            echo "Username ซ้ำ กรุณากรอก Username ใหม่";
        }
  
        mysqli_close( $c );
    }
?>

ผลลัพธ์

Username ซ้ำ กรุณากรอก Username ใหม่

คำอธิบาย

PHP เช็ค username ซ้ำ ฐานข้อมูล MySQL/MariaDB มีรายละเอียดดังนี้

1. รับค่า username จากฟอร์ม HTML ด้วยคำสั่ง $_POST ของ PHP จากนั้นเขียนคำสั่ง SQL เพื่อเช็คข้อมูลจาก username ที่กรอกเข้ามา โดย SELECT เป็นค่า id ของตาราง member

2. ใช้คำสั่ง if( empty($f['id']) ) เช็คว่า id ของตาราง member ที่เช็ค username เป็นค่าว่างหรือไม่ ถ้าว่างแปลว่า username ยังไม่มีข้อมูล ให้ทำงานใน if และ INSERT ข้อมูลใหม่ลงตาราง member

3. กรณีถ้า id มีค่า ไม่ใช่ค่าว่างเปล่า แปลว่า username ดังกล่าวมีอยู่ในตาราง member แล้วให้ทำงานใน else และพิมพ์ข้อความ “Username ซ้ำ กรุณากรอก Username ใหม่” ออกสู่หน้าจอ

แก้ไข 1 ปีที่แล้ว
ชอบ
ลิ้งก์
แชร์
Devdit มีช่อง YouTube แล้ว
เราสร้างวิดีโอเกี่ยวกับเทคโนโลยี ทำตามง่ายๆ