Chào các bạn,
Đây là bài đầu tiên trong loạt bài hướng dẫn xây dựng ứng dụng chat với PHP & MySQL và Ajax và trong bài này mình sẽ giới thiệu sơ lược về các chức năng chính trong ứng dụng, đồng thời mình hướng dẫn tạo dữ liệu để lưu trữ tin nhắn và người dùng luôn.
Cũng xin nói luôn là để làm được ứng dụng này thì bạn phải biết một chút ít kiến thức về PHP và Ajax, một chút về MySQL và cách truy vấn giữa chúng. Tất cả kiến thức này trên kiso đều có nên bạn có thể tham khảo tại blog luôn cũng được.
Đầu tiên mình giới thiệu về các chức năng có trong series này đã nhé.
Bài viết này được đăng tại [kiso.vn]
1. Chức năng chính trong ứng dụng Chat
Vì toàn là kiến thức căn bản nên series này dành cho những bạn muốn thực hành về Ajax, mình tin rằng nếu bạn làm tốt ứng dụng này thì trình độ của bạn sẽ lên rất là cao. Một điều nữa là mình không đặt đến vấn đề bảo mật của các user như sử dụng https để mã hóa thông tin giao tiếp giữa client và server, vì vậy nếu bạn muốn biết thì tự tìm hiểu chứ cá nhân mình cũng không rành.
Các chức năng của ứng dụng :
- Đăng ký tài khoản.
- Đăng nhập.
- Đăng xuất.
- Trò chuyện (gửi và nhận tin nhắn ngay lập tức).
- Mobile web.
2. Xây dựng CSDL cho ứng dụng Chat
Đầu tiên các bạn tạo một database với tên messenger
. Tiếp theo chúng ta sẽ tạo hai table như hình sau để lưu thông tin người dùng và tin nhắn.
Trong đó chi tiết hai bảng như sau:
Table users
Tất nhiên rồi, một ứng dụng Messenger thì phải có một bảng người dùng để lưu thông tin tài khoản, mật khẩu cho chức năng đăng ký, đăng nhập và lấy thông tin người dùng. Bây giờ đó các bạn chạy lệnh SQL sau để tạo table users
.
CREATE TABLE `users` ( `id_user` int(11) NOT NULL, `username` text NOT NULL, `password` text NOT NULL, `date_created` datetime NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; ALTER TABLE `users` ADD PRIMARY KEY (`id_user`); ALTER TABLE `users` MODIFY `id_user` int(11) NOT NULL AUTO_INCREMENT;
Trong đó :
- Field
id_user
chứa ID của người dùng, giá trị này sẽ tự động tăng. - Field
username
chứa tên đăng nhập của người dùng. - Field
password
chứa mật khẩu của người dùng. - Field
date_created
chứa thời gian mà người dùng đăng ký tài khoản.
Table messages
Kế tiếp chúng ta sẽ tạo thêm bảng messages
để lưu tin nhắn. Các bạn chạy lệnh SQL để tạo bảng :
CREATE TABLE `messages` ( `id_msg` int(11) NOT NULL, `body` longtext NOT NULL, `user_from` text NOT NULL, `date_sent` datetime NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; ALTER TABLE `messages` ADD PRIMARY KEY (`id_msg`); ALTER TABLE `messages` MODIFY `id_msg` int(11) NOT NULL AUTO_INCREMENT;
Trong đó :
- Field
id_msg
chứa ID của tin nhắn, giá trị này sẽ tự tăng. - Field
body
chứa nội dung tin nhắn. - Field
user_from
chứa tên người gửi tin nhắn. - Field
date_sent
chứa thời gian gửi tin nhắn.
Thế là chúng ta đã tạo xong CSDL cho ứng dụng 🙂
3. Lời kết
Bài đầu tiên này hơi ngắn và cũng vì phong cách viết bài của kiso là chia nhỏ từng phần ra nhằm giúp người đọc dễ dàng theo dõi, vì vậy mình xin dừng bài viết tại đây, bài tiếp theo mình sẽ giới thiệu về cấu trúc thư mục của ứng dụng chat.
Danh sách file tải về
Tên file tải về | Pass giải nén |
---|---|
Ajax chat PHP phần 1 | kiso.vn hoặc gameportable.net |
Bài viết liên quan
[CSF-2] Một số thiết lập CSF, LFD
Hôm nay mình sẽ thực hiện một số thiết lập trên CSF Mở file config để sửa đổi một số tính năng dưới /etc/csf/csf.conf Nội dung chính1. Chức năng chính trong ứng dụng Chat2. Xây...
[CSF-1] Tăng bảo mật Server với ConfigServer Firewall (CSF)
Nội dung chính1. Chức năng chính trong ứng dụng Chat2. Xây dựng CSDL cho ứng dụng ChatTable usersTable messages3. Lời kết1. Khái niệm CSF: CSF (ConfigServer & Firewall) là một bộ ứng dụng hoạt động...
Sử dụng SSH Key với Gitlab và Github
Bài viết này mình sẽ hướng dẫn các bạn tạo ssh key cho Gitlab và Github SSH là gì? Secure Socket Shell là một giao thức mạng dùng để thiết lập kết nối mạng một...
Directory traversal vulnerabilities (phần 4)
Nội dung chính1. Chức năng chính trong ứng dụng Chat2. Xây dựng CSDL cho ứng dụng ChatTable usersTable messages3. Lời kếtV. Phân tích và khai thác các lỗ hổng Directory traversal (tiếp) 5. Bypass lỗ...
Directory traversal vulnerabilities (phần 3)
Nội dung chính1. Chức năng chính trong ứng dụng Chat2. Xây dựng CSDL cho ứng dụng ChatTable usersTable messages3. Lời kếtV. Phân tích và khai thác các lỗ hổng Directory traversal 1. Lỗ hổng xảy...
Directory traversal vulnerabilities (phần 2)
Nội dung chính1. Chức năng chính trong ứng dụng Chat2. Xây dựng CSDL cho ứng dụng ChatTable usersTable messages3. Lời kếtIII. Vì sao lỗ hổng Directory traversal xuất hiện? Với mỗi ngôn ngữ lập trình...