Devdit
 

PHP Login แสดงชื่อผู้ใช้ จากฐานข้อมูล MySQL

2K

PHP Login แสดงชื่อผู้ใช้ จากฐานข้อมูล MySQL บทความนี้สอนเขียนโค้ดแสดงชื่อผู้ใช้งานจาก column username ในฐานข้อมูล MySQL หลังผู้ใช้งาน Login เสร็จ โดยใช้ HTML ร่วมกับ PHP และ MySQL สามารถเขียนโปรแกรมได้ดังนี้

 

ตัวอย่าง PHP Login แสดงชื่อผู้ใช้จากฐานข้อมูล MySQL

1. สร้างฐานข้อมูลชื่อ example และรันคำสั่ง SQL ด้านล่างเพื่อสร้างตารางชื่อ user จากนั้นใส่ข้อมูลลงในตารางตามที่ต้องการ

CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` char(50) NOT NULL,
  `password` char(50) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb4
+----+----------+----------+
| id | username | password |
+----+----------+----------+
|  1 | admin    | 01234    |
+----+----------+----------+

 

2. เขียนโค้ด PHP Login แสดงชื่อผู้ใช้

<?php
    session_start();

    $error = "";
    isset( $_POST['username'] ) ? $username = $_POST['username'] : $username = "";
    isset( $_POST['password'] ) ? $password = $_POST['password'] : $password = "";

    if( !empty( $username ) && !empty( $password ) ) {
        $conn = mysqli_connect( "localhost", "root", "", "example" );
        mysqli_query( $conn, "SET NAMES UTF8" );
        $sql = " 
                SELECT id, username 
                FROM user 
                WHERE 
                ( username = '{$username}' ) AND  
                ( password = '{$password}' ) 
               ";
        $q = mysqli_query( $conn, $sql );
        $f = mysqli_fetch_assoc( $q );
        if( isset( $f['id'] ) ) {
            $_SESSION['id'] = $f['id'];
            $_SESSION['username'] = $f['username'];
        } else {
            $error = "Username หรือ Password ผิดพลาด";
        }

        mysqli_close( $conn );
    }
?>
<?php if( empty( $_SESSION['id'] ) ) { ?>
<form action="index.php" method="POST">
    <fieldset> 
        <legend>กรุณาเข้าสู่ระบบ</legend>
        <input type="text" name="username" placeholder="ชื่อผู้เข้าใช้งาน">
        <input type="password" name="password" placeholder="รหัสผ่าน">
        <input type="submit" value="เข้าสู่ระบบ">
        <?=$error;?>
    </fieldset>
</form>
<?php } else { ?>
<fieldset> 
    <legend>สวัสดี และยินดีต้อนรับ</legend>
    <div>คุณ <b><?=$_SESSION['username'];?></b></div>
</fieldset>    
<?php } ?>

คำอธิบาย

PHP Login แสดงชื่อผู้ใช้ จากฐานข้อมูล MySQL มีรายละเอียดโค้ดที่เกี่ยวข้องดังนี้

1. กรณียังไม่ Login โปรแกรมจะทำงานใน if( empty( $_SESSION['id'] ) ) ซึ่งจะแสดงฟอร์มสำหรับ Login

2. เมื่อผู้ใช้งานกรอกข้อมูลสำหรับเข้าสู่ระบบ โปรแกรมจะรับค่าตัวแปรทั้ง 2 ด้วย $_POST และเชื่อมต่อฐานข้อมูล MySQL

3. รันคำสั่ง SQL และสร้างตัวแปร session id เพื่อเก็บค่าการ Login และ username เพื่อเก็บชื่อผู้ใช้งาน

4. เมื่อ Login สำเร็จโปรแกรมจะแสดงชื่อผู้ใช้งานที่เก็บไว้ในตัวแปร $_SESSION['username'] ออกสู่หน้าเว็บไซต์

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