Tạo Form Đăng Nhập Php Pdo, Tạo Form Đăng Nhập Trong Php

Hệ thống đăng nhập website đơn giản bằng PHP, chỉ hoạt động với cơ sở dữ liệu MySQL.Hôm nay, chúng tôi đang cung cấp cho bạn quy trình đăng ký và đăng nhập dễ dàng bằng kết nối PDO và cơ chế mã hóa mật khẩu tốt hơn, có lợi thế làm việc trên các hệ thống cơ sở dữ liệu khác nhau.PDO là một phần mở rộng PHP cho phép chúng tôi triển khai mã có thể linh hoạt trên nhiều nền tảng cơ sở dữ liệu khác nhau.Dưới đây là hướng chi tiết của quá trình đăng nhập/đăng ký đơn giản.

Lưu ý: phải kích hoạt tiện ích mở rộng PDO cho PHP, phầnnày được cấu hình trongphp.ini

1. Chuẩn bị database

Trước hết cần tạo mới một cơ sở dữ liệu và tạo bảng users. Bảng users này chứa tất cả các thông tin chi tiết đăng ký của người dùng.

Đang xem: Tạo form đăng nhập php pdo

CREATE TABLE IF NOT EXISTS `users` ( `id` int(11) NOT NULL primary key AUTO_INCREMENT, `username` varchar(45) DEFAULT NULL, `email` varchar(120) DEFAULT NULL, `password` varchar(200) DEFAULT NULL, `name` varchar(100) DEFAULT NULL)
Kích hoạt tiện ích mở rộng PDO cho PHP, tìmtệpnày trongtệp cấu hìnhphp.ini.

2. config.php

Tập tin cấu hình config.php kết nối cơ sở dữ liệu, ở đây bạn phải sửa đổi DB_USERNAME, DB_PASSWORD DB_DATABASE,….Nếu bạn đang sử dụng cơ sở dữ liệu khác không phải PDO, hãy sửa đổigiá trị kết nối trình điều khiểnPDO().

exec(“set names utf8”); $dbConnection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); return $dbConnection; } catch (PDOException $e) { echo 'Connection failed: ' . $e->getMessage(); }}

*

Xem thêm: download File Chuyển Mp3 Sang Wav Converter, Online Audio Converter

prepare(“SELECT id FROM users WHERE (username=:usernameEmail or email=:usernameEmail) AND password=:hash_password”); $stmt->bindParam(“usernameEmail”, $usernameEmail, PDO::PARAM_STR); $stmt->bindParam(“hash_password”, $hash_password, PDO::PARAM_STR); $stmt->execute(); $count = $stmt->rowCount(); $data = $stmt->fetch(PDO::FETCH_OBJ); $db = null; if ($count) { $_SESSION<'userId'> = $data->id; return true; } else { return false; } } /** * User đăng ký * *
return bool */ public function userRegistration($username, $password, $email, $name) { try { $db = connectDB(); $st = $db->prepare(“SELECT id FROM users WHERE username=:username OR email=:email”); $st->bindParam(“username”, $username, PDO::PARAM_STR); $st->bindParam(“email”, $email, PDO::PARAM_STR); $st->execute(); $count = $st->rowCount(); if ($count prepare(“INSERT INTO users(username,password,email,name) VALUES (:username,:hash_password,:email,:name)”); $stmt->bindParam(“username”, $username, PDO::PARAM_STR); $hash_password = hash('sha256', $password); $stmt->bindParam(“hash_password”, $hash_password, PDO::PARAM_STR); $stmt->bindParam(“email”, $email, PDO::PARAM_STR); $stmt->bindParam(“name”, $name, PDO::PARAM_STR); $stmt->execute(); $id = $db->lastInsertId(); $db = null; $_SESSION<'userId'> = $id; return true; } else { $db = null; return false; } } catch (PDOException $e) { echo '{“error”:{“text”:' . $e->getMessage() . '}}'; } } /** * User chi tiết * *
return mixed */ public function userDetails($id) { try { $db = connectDB(); $stmt = $db->prepare(“SELECT email,username,name FROM users WHERE id=:id”); $stmt->bindParam(“id”, $id, PDO::PARAM_INT); $stmt->execute(); $data = $stmt->fetch(PDO::FETCH_OBJ); return $data; } catch (PDOException $e) { echo '{“error”:{“text”:' . $e->getMessage() . '}}'; } }}

6. index.php

Chứa mã PHP và HTML, hoạt động dựa trên form người dùng gửi.

Lưu ý:Bạn phải sử dụng các xác nhận thống báo lỗi hoặc validation form bằng JavaScript để có trải nghiệm người dùng tốt hơn.

1 && strlen(trim($password)) > 1) { $id = $userClass->userLogin($usernameEmail, $password); if ($id) { $url = BASE_URL . 'home.php'; header(“Location: $url”); } else { $errorMsgLogin = “Sai tài khoản hoặc mật khẩu.”; } }}if (!empty($_POST<'signupSubmit'>)) { $username = $_POST<'usernameReg'>; $email = $_POST<'emailReg'>; $password = $_POST<'passwordReg'>; $name = $_POST<'nameReg'>; $username_check = preg_match('~^{3,20}$~i', $username); $email_check = preg_match('~^+

Xem thêm: Tất Tần Tật Thủ Thuật Sử Dụng Ipad Air 2 8 Thủ Thuật Và Mẹo Nhỏ Dành Cho Ipad 2

#$%^&*()_>{6,20}$~i', $password); if ($username_check && $email_check && $password_check && strlen(trim($name)) > 0) { $id = $userClass->userRegistration($username, $password, $email, $name); if ($id) { $url = BASE_URL . 'home.php'; header(“Location: $url”); } else { $errorMsgReg = “Tên người dùng hoặc Email đã tồn tại.”; } } else { $errorMsgReg = “Vui lòng kiểm tra lại thông tin nhập vào.”; }}?>

Xem thêm bài viết thuộc chuyên mục: Đăng nhập

Khuyễn Mãi Hot