--- Bài mới hơn ---
Tạo Form Đăng Nhập Trong Php
Userform Trong Vba: Cách Tạo Và Sử Dụng Form Excel
Tạo Đĩa Usb/dvd Cài Đặt Windows 7 Mọi Phiên Bản
Hướng Dẫn Tạo Bộ Cài Windows All In One Cho Win 7/8/10 Đơn Giản Nhất
Ultraiso: Cách Tạo Và Chỉnh Sửa Tập Tin Iso
Đối với các bạn mới bắt đầu học lập trình PHP các bạn nên gõ theo từng đoạn code để nhớ bài và hiểu vấn đề hơn, đừng copy nguyên đoạn code như vậy sẽ không nắm được lâu kiến thức.
Chuẩn bị :
Để bắt đầu thực hành bài này, các bạn hãy chuẩn bị cho mình những điều cần thiết sau :
– Đã khởi chạy (start) môi trường để lập trình PHP (coi lại bài Hướng dẫn cài đặt môi trường lập trình PHP)
– Chuẩn bị công cụ editor phù hợp để có thể code (các bạn có thể tham khảo bài Giới thiệu về các editor cho nhà phát triển web)
– Trong thư mục gốc của website (ở đây mình dùng wamp nên thư mục gốc sẽ là www, còn đối với các bạn dùng xampp, thì thư mục gốc sẽ là htdocs), các bạn tạo 1 folder đặt tên là my_website để chưa tất cả source code mà mình sẽ hướng dẫn các bạn từng bước làm 1 website hoàn chỉnh bằng ngôn ngữ lập trình PHP từ đây trở về sau.
Trong thư mục my_website , các bạn tạo cho mình cấu trúc thư mục như sau :
Đầu tiên mình sẽ thiết kế một form đăng ký, đặt tên là chúng tôi (đặt trong thư mục my_website) bao gồm các trường :
– trường để người dùng nhập nickname
– trường để người dùng nhập mật khẩu
– trường để người dùng nhập họ tên
– trường để người dùng nhập địa chỉ email
Chạy đoạn code trên (vào browser gõ đường dẫn http:// localhost/my_website/register.php) ta được form đăng ký đơn giản như sau
Tiếp đến, ta sẽ thiết kế cơ sở dữ liệu và tạo bảng lưu trữ thông tin người dùng, ở đây mình lấy tên cho database là “kungfuphp” và bảng là “users”. Trong bảng uses sẽ bao gồm các cột
- id : kiểu int, khóa chính, thuộc tính tự tăng (auto increment)
- username : tên đăng nhập, kiểu var char, độ dài là 30 kí tự
- password : mật khẩu, kiểu var char, độ dài 30 kí tự
- name : tên người dùng, kiểu var char, độ dài 255 kí tự
- email : địa chỉ email, kiểu var char, đồ dài 255 kí tự
CREATE DATABASE IF NOT EXISTS `kungfuphp` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;
USE `kungfuphp`;
CREATE TABLE IF NOT EXISTS `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(30) NOT NULL,
`password` varchar(30) NOT NULL,
`name` varchar(255) NOT NULL,
`email` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
3. Bắt đầu code
<?php
$server_username = "root";
$server_password = "";
$server_host = "localhost";
$database = 'kungfuphp';
$conn = mysqli_connect($server_host,$server_username,$server_password,$database) or die("không thể kết nối tới database");
mysqli_query($conn,"SET NAMES 'UTF8'");
Ở đoạn code trên, chúng ta dùng phương thức mysqli_connect của PHP để PHP có thể kết nối tới dữ liệu mysql với 3 tham số:
- $server_host :tên host chưa database, ở đây mình dùng là localhost vì chạy ở máy tính cục bộ, còn khi upload website lên các host khác thì chúng ta có thể thay đổi tham số này cho phù hợp.
- $server_username : tên đăng nhập vào database, mặc định ở local là root
- $server_password ; mật khẩu đăng nhập vào database, mặc định ở local là rỗng
phương thức or die nhằm kiểm tra nếu kết nối thất bại sẽ xuất ra dòng chữ “không thể kết nối tới database”
phương thức mysqli_query($conn,”SET NAMES ‘UTF8′”) bạn có thể thêm vào hoặc không đều được, đây là phương thức tùy chọn, dành cho trong trường hợp cơ sở dữ liệu của bạn có các kí tự đặc biệt dạng utf-8 thì khi truy vấn hoặc cập nhật dữ liệu sẽ không bị lỗi font chữ
Tiếp đến trong file chúng tôi bạn cần phải require file chúng tôi vừa tạo vào bằng cách dùng từ khóa require_once (hoặc include, include_once, require)
require_once("lib/connection.php");
Sau khi đã require_once tập tin chúng tôi vào, chúng ta đến giai đoạn kiểm tra thông tin đăng ký hợp lệ và lưu dữ liệu vào database, ở đây mình sẽ lấy các thông tin ở form đăng ký đã tạo ở trên bằng phương thức POST, các bạn lưu ý là :
- Ngoài phương thức POST, chúng ta còn có thể sử dụng phương thức GET và sử dụng từ khóa $_GET để lấy dữ liệu
- Sự khác nhau giữa POST và GET thì mình sẽ nói rõ hơn trong các bài sau 🙂
<?php
if (isset($_POST;
$password = $_POST;
$email = $_POST)) {
//lấy thông tin từ các form bằng phương thức POST
$username = $_POST;
$name = $_POST;
//Kiểm tra điều kiện bắt buộc đối với các field không được bỏ trống
echo "bạn vui lòng nhập đầy đủ thông tin";
}else{
$sql = "INSERT INTO users(
username,
password,
name,
email
) VALUES (
'$username',
'$password',
'$name',
'$email'
)";
// thực thi câu $sql với biến conn lấy từ file connection.php
mysqli_query($conn,$sql);
echo "chúc mừng bạn đã đăng ký thành công";
}
}
Toàn bộ code đầy đủ trong file chúng tôi sẽ như sau :
<?php
require_once("lib/connection.php");
if (isset($_POST;
$password = $_POST;
$email = $_POST["email"];
//Kiểm tra điều kiện bắt buộc đối với các field không được bỏ trống
echo "bạn vui lòng nhập đầy đủ thông tin";
}else{
// Kiểm tra tài khoản đã tồn tại chưa
$sql="select * from users where username='$username'";
$kt=mysqli_query($conn, $sql);
echo "Tài khoản đã tồn tại";
}else{
//thực hiện việc lưu trữ dữ liệu vào db
$sql = "INSERT INTO users(
username,
password,
name,
email
) VALUES (
'$username',
'$password',
'$name',
'$email'
)";
// thực thi câu $sql với biến conn lấy từ file connection.php
mysqli_query($conn,$sql);
echo "chúc mừng bạn đã đăng ký thành công";
}
}
}
--- Bài cũ hơn ---
Hướng Dẫn Ghost Win 7 Bằng Usb
Hướng Dẫn Tạo File Ghost Windows (Uefi) Với Acronis True Image (✔)
Hướng Dẫn Tạo Và Bung File Ghost Bằng Onekey Ghost
Tạo Thư Mục Trên Start Menu Windows 10, Tạo Folder Trên Start Menu Win
Hướng Dẫn Cách Tạo Thư Mục Trong Outlook 2022