Xu Hướng 9/2023 # Bài 46: Xây Dựng Chức Năng Đăng Ký Thành Viên Với Php Và Mysql # Top 12 Xem Nhiều | Rafs.edu.vn

Xu Hướng 9/2023 # Bài 46: Xây Dựng Chức Năng Đăng Ký Thành Viên Với Php Và Mysql # Top 12 Xem Nhiều

Bạn đang xem bài viết Bài 46: Xây Dựng Chức Năng Đăng Ký Thành Viên Với Php Và Mysql được cập nhật mới nhất tháng 9 năm 2023 trên website Rafs.edu.vn. Hy vọng những thông tin mà chúng tôi đã chia sẻ là hữu ích với bạn. Nếu nội dung hay, ý nghĩa bạn hãy chia sẻ với bạn bè của mình và luôn theo dõi, ủng hộ chúng tôi để cập nhật những thông tin mới nhất.

Bài này chúng ta sẽ thực hành xây dựng chức năng đăng ký thành viên với PHP và MySQL, đây là một chức năng đơn giản và rất hay được sử dụng trong PHP. Để xem được bài này đòi hỏi bạn phải nghiên cứu qua hai phương thức POST và GET, các thẻ input thông dụng như text, textarea, …

Để làm được chức năng đăng nhập thì bạn phải thực hiện các bước như sau:

Nội dung chính

1. Xây dựng database bảng thành viên

2. Xây dựng form đăng ký thành viên

3. Xử lý thao tác đăng ký thành viên

4. Lời kết

1

2

3

4

5

6

7

8

9

CREATE TABLE IF NOT EXISTS `member` (

  `id` int(11) NOT NULL AUTO_INCREMENT,

  `username` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL,

  `password` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL,

  `email` varchar(200) COLLATE utf8_unicode_ci DEFAULT NULL,

  `phone` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL,

  `level` tinyint(4) DEFAULT NULL COMMENT '1: admin, 0: member',

  PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;

Tiếp theo ta sẽ Insert một user với tên là admin để làm người quản trị:

1

2

3

INSERT INTO `member` (

    `username`, `password`, `email`, `phone`, `level`

) VALUES ('admin', MD5('tinhoccuaem.com'), 'minhtham2006@gmail.com', '0988888888', '1')

Admin là thành viên quản trị của hệ thống website có và có level = 1. Nghĩa là:

Và mật khẩu của admin là MD5('tinhoccuaem.com'), nghĩa là trong hệ thống để bảo đảm an toàn thì ta sẽ dùng hàm MD5 để băm mật khẩu lưu vào trong cơ sở dữ liệu. Như vậy khi check Login thì phải dùng hàm MD5 trong PHP để mã hóa trước khi đưa vào so sánh.

Bạn tạo một file tên register.php với nội dung như sau:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

Action của form mình trỏ đến file xuly.php nên khi submit form hệ thống sẽ gửi thông tin đến file này. Giao diện như sau:

Form đăng ký thành viên

Trước khi xử lý thao tác thêm thành viên thì ta có một số lưu ý như sau:

Trong hệ thống CSDL thì field idcó thuộc tính auto increment (tự động tăng) nên ta không cần truyền giá trị vào lúc thêm

Thuộc tính Username và Email phải là duy nhất nên trước khi thêm phải kiểm tra bị trùng hay không

Bây giờ bạn tạo file xuly.php với nội dung như sau:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

header('Content-Type: text/html; charset=utf-8');

if (isset($_POST['do-register']))

{

    

    

    

    $username   = isset($_POST['username']) ? mysql_escape_string($_POST['username']) : '';

    $password   = isset($_POST['password']) ? md5($_POST['password']) : '';

    $email      = isset($_POST['email'])    ? mysql_escape_string($_POST['email']) : '';

    $phone      = isset($_POST['phone'])    ? mysql_escape_string($_POST['phone']) : '';

    $level      = isset($_POST['level'])    ? (int)$_POST['level'] : '';

     

    

     

    

    $conn = mysqli_connect('localhost', 'root', 'vertrigo', 'demo') or die ('Lỗi kết nối');

    mysqli_set_charset($conn, "utf8");

     

    

    $sql = "SELECT * FROM member WHERE username = '$username' OR email = '$email'";

     

    

    $result = mysqli_query($conn, $sql);

     

    

    {

        

         

        

        die ();

    }

    else {

        

        $sql = "INSERT INTO member (username, password, email, phone, level) VALUES ('$username','$password','$email','$phone', '$level')";

         

        if (mysqli_query($conn, $sql)){

        }

        else {

        }

    }

}

Trong file này bạn chú ý mình sử dụng alert được echo từ php để xuất ra thông báo là thành công hay thất bại. Bây giờ bạn chạy thử và kết quả sẽ:

Thông báo thành công nếu thao tác thành công

Thông báo username hoặc email đã tồn tại nếu bạn đăng ký trùng thông tin có sẵn trong CSDL

Thông báo thất bại nếu thao tác lỗi

Xây Dựng Chức Năng Tìm Kiếm Với Lệnh Like Trong Php

1. Xây dựng Cơ sở dữ liệu để tìm kiếm /* SQLyog Ultimate - MySQL GUI v8.21 MySQL - 5.5.20 : Database - basic ********************************************************************* */ /*!40101 SET NAMES utf8 */; /*!40101 SET SQL_MODE=''*/; /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; CREATE DATABASE /*!32312 IF NOT EXISTS*/`basic` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci */; USE `basic`; /*Table structure for table `users` */ DROP TABLE IF EXISTS `users`; CREATE TABLE `users` ( `user_id` int(11) unsigned NOT NULL AUTO_INCREMENT, `username` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, `password` char(32) COLLATE utf8_unicode_ci DEFAULT NULL, `email` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL, `address` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL, PRIMARY KEY (`user_id`) ) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*Data for the table `users` */ insert into `users`(`user_id`,`username`,`password`,`email`,`address`) values (1,'kaito','456','kaito@freetuts.net','House USA'),(2,'thehaftheart','456','thehaftheart@freetuts.net','House USA'),(3,'superkaito','456','superkaito@gmail.com','House Viet Nam'),(4,'kaitosolo','1789','kaito@yahô.com','abc/fdc'),(5,'van canh','798','vancanh@freetuts.net','Bien hoa'),(6,'yongc','789','yongc@freetuts.net','Bien Hoa'),(7,'haftheart789','789','haftheart789@yahoo.com','Ha tinh'),(8,'yongc456','56465','yongc789@gmail.com','Bien Hoa 2'),(9,'van canh456','564564','vancanh@gmail.com','Bien Hoa 3'),(10,'kaitocode','87897','kaitocode@yahoo.com','TPHCM'); /*!40101 SET SQL_MODE=@OLD_SQL_MODE */; /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; 2. Xây dựng Form tìm kiếm

Bạn tạo file search.php và xây dựng cấu trúc HTML cho form tìm kiếm như sau:

Gồm một input và một nút submit là đủ cho bài học này rồi, do chúng ta phải truyền đối số vào url nên chúng ta đặt method của form bằng phương thức GET.

Action của Form tôi trỏ đến file hiện tại luôn nên tất cả code PHP xử lý tìm kiếm tôi sẽ đặt trong file này luôn.

<?php

Trong đoạn code trên mình có khai báo một vị trí dùng để code PHP, như vậy ta sẽ code PHP xử lý tìm kiếm tại vị trí đó. Khâu chuẩn bị xem như hoàn tất, bây giờ đến phần sử dụng php kết nối với mysql để xử và show dữ liệu từ database ra ngoài.

3. Cần phải hiểu trước khi làm bài

Trước tiên chúng ta cần kiểm tra người dùng có nhấn vào button tìm kiếm hay không? Bắt buộc chúng ta phải thực hiện bước này tại vì khi submit mới cần xử lý truy vấn database để lấy thông tin tìm kiếm.

Bình thường việc check submit form ta sẽ dùng biến $_POST nhưng vì chúng ta sử dụng phương thức GET nên ta phải sử dụng biến $_GET để kiểm tra. Nhưng trong bài này tôi sẽ thay thế $_GET bằng một biến môi trường khác chính là $_REQUEST có tác dụng là nhận request từ cả 2 phương thức trên.

if (isset($_REQUEST['ok'])) { $search = addslashes($_GET['search']); if (empty($search)) { echo "Yeu cau nhap du lieu vao o trong"; } else { } } 4. Xử lý tìm kiếm với lệnh Like trong MySql <?php if (isset($_REQUEST['ok'])) { $search = addslashes($_GET['search']);

if (empty($search)) { echo "Yeu cau nhap du lieu vao o trong"; } else { $query = "select * from users where username like '%$search%'";

mysql_connect("localhost", "root", "vertrigo", "basic");

$sql = mysql_query($query);

$num = mysql_num_rows($sql);

{

while ($row = mysql_fetch_assoc($sql)) { } } else { echo "Khong tim thay ket qua!"; } } }

Như vậy là xong rồi đấy 🙂

5. Lời kết

Hy vọng qua bài viết đơn giản này sẽ giúp các bạn có cái nhìn toàn diện hơn về cách xây dựng một chức năng tìm kiếm với lệnh LIKE trong php và MYSQL, từ đó đào sâu và phát triển hơn nửa để có thể đáp ứng được một số yêu cầu tìm kiếm dữ liệu chuyên sâu hơn. Hẹn gặp các bạn ở các bài tiếp theo ^^.

Tạo Trang Đăng Nhập Đăng Ký Đơn Giản Bằng Php Mysql

Bài viết này tôi sẽ hướng dẫn chi tiết cách để tạo một trang đăng nhập, đăng ký đơn giản bằng php và mysql. Chức năng đơn giản đó là đăng nhập, đăng ký và đăng xuất.

Các bước làm

Tạo một bảng cơ sở dữ liệu

Tạo trang đăng ký

Tạo trang đăng nhập

Kết nối với cơ sở dữ liệu

Xác thực người dùng đã đăng nhập

Tạo trang chủ

Tạo trang bảng điều khiển

Tạo trang đăng xuất

Tạo style cho trang

1) Tạo một bảng cơ sở dữ liệu CREATE TABLE IF NOT EXISTS `users` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(50) NOT NULL, `email` varchar(50) NOT NULL, `password` varchar(50) NOT NULL, `trn_date` datetime NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ; 2) Tạo trang đăng ký

Tạo một file có tên là registration.phpvà dán đoạn code sau vào.

<?php <?php require('db.php'); if (isset($_REQUEST['username'])){ $username = stripslashes($_REQUEST['username']); $username = mysqli_real_escape_string($con,$username); $email = stripslashes($_REQUEST['email']); $email = mysqli_real_escape_string($con,$email); $password = stripslashes($_REQUEST['password']); $password = mysqli_real_escape_string($con,$password); $trn_date = date("Y-m-d H:i:s"); $query = "INSERT into `users` (username, password, email, trn_date) VALUES ('$username', '".md5($password)."', '$email', '$trn_date')"; $result = mysqli_query($con,$query); if($result){ } }else{ 3) Tạo trang đăng nhập

Tương tự, tạo một file login.phpvà dán code dưới vào.

<?php <?php require('db.php'); session_start(); if (isset($_POST['username'])){ $username = stripslashes($_REQUEST['username']); $username = mysqli_real_escape_string($con,$username); $password = stripslashes($_REQUEST['password']); $password = mysqli_real_escape_string($con,$password); $query = "SELECT * FROM `users` WHERE username='$username' and password='".md5($password)."'"; $result = mysqli_query($con,$query) or die(mysql_error()); $rows = mysqli_num_rows($result); if($rows==1){ $_SESSION['username'] = $username; header("Location: index.php"); }else{ } }else{ Mật khẩu: sharescript.net 4) Kết nối với cơ sở dữ liệu

Tạo file db.phpvà dán code vào.

<?php $con = mysqli_connect("localhost","database_username","password","database_name"); if (mysqli_connect_errno()) { echo "Không thể kết nối đến MySQL: " . mysqli_connect_error(); }

Chú ý: Trong đoạn code mysqli_connect("localhost","database_username","password","database_name")chỉnh sửa thành thông tin database của bạn

5) Xác thực người dùng đã đăng nhập

Dán đoạn code sau vào file auth.php

<?php session_start(); if(!isset($_SESSION["username"])){ header("Location: login.php"); exit(); } 6) Tạo trang chủ

Trang chủ này chính là file index.php, sau khi đăng nhập thành công sẽ chuyển hướng đến file này.

<?php 7) Tạo trang bảng điều khiển

Trang này tương tự như index.phpnhưng là một trang khác. Bạn có thể bỏ qua trang này.

<?php require('db.php'); 8) Tạo trang đăng xuất

Trang đăng xuất tôi sẽ đặt tên là logout.php, khi người dùng vào trang này sẽ tự động destroy session.

<?php session_start(); if(session_destroy()) { header("Location: login.php"); } 9) Tạo style cho trang

Cuối cùng là làm đẹp cho trang thôi!

body {font-family:Arial, Sans-Serif;} .clearfix:before, .clearfix:after { content: ""; display: table; } .clearfix:after { clear: both; } a {color:#0067ab; text-decoration:none;} a:hover {text-decoration:underline;} .form{width: 300px; margin: 0 auto;} input[type='text'], input[type='email'], input[type='password'] {width: 200px; border-radius: 2px;border: 1px solid #CCC; padding: 10px; color: #333; font-size: 14px; margin-top: 10px;} input[type='submit']{padding: 10px 25px 8px; color: #fff; background-color: #0067ab; text-shadow: rgba(0,0,0,0.24) 0 1px 0; font-size: 16px; box-shadow: rgba(255,255,255,0.24) 0 2px 0 0 inset,#fff 0 1px 0 0; border: 1px solid #0164a5; border-radius: 2px; margin-top: 10px; cursor:pointer;} input[type='submit']:hover {background-color: #024978;}

Nhóm Facebook Là Gì? Cách Xây Dựng Group Đông Thành Viên

Group Facebook là gì?

Facebook group (hay còn gọi là nhóm trên Facebook) là nơi tụ tập của mọi người trên facebook nhằm chia sẻ, trao đổi kiến thức, thông tin hay bất cứ vấn đề nào mà họ quan tâm.

Thông qua các bài đăng có thể là hình ảnh, text, video … mà các thành viên tương tác qua lại với nhau.

Mỗi nhóm có số lượng người tham gia không giới hạn, bạn cũng có thể thấy nhóm có đến vài triệu thành viên là điều bình thường.

Bất cứ ai sở hữu tài khoản Facebook đều có thể thành lập và quản lý Facebook group. Bạn có thể tham gia đến 6000 group khác nhau mà không gặp vấn đề gì.

Các loại nhóm thường gặp trên Facebook

Bạn biết đấy, có rất nhiều nhóm nhưng không phải nhóm nào bạn cũng nhìn thấy trên facebook đúng không?

Tùy vào loại hiển thị cũng như bảo mật thông tin thì được chia làm 3 loại chính:

Nhóm công khai

Đây là loại nhóm phổ biến nhất , bất kỳ ai cũng có thể xem nội dung trong nhóm vì nó là công khai.

Bất kỳ ai cũng có thể tham gia, tuy nhiên nếu bạn muốn đăng bài thì phải trở thành thành viên thì mới có quyền này.

Nhóm công khai cũng là nhóm có lượng thành viên lớn nhất, thường ít hạn chế về số người tham gia.

Các thông tin đều được công bố để ai cũng có thể đọc được, phát triển nhóm này rất hữu ích. Là sự lựa chọn của hầu hết những bạn muốn xây dựng nhóm.

Nhóm kín

Nhóm kín đảm bảo riêng tư cho những thành viên tham gia. Chỉ những người đã là thành viên mới xem được nội dung bên trong nhóm.

Bạn có thể sử dụng loại giúp này khi nhiều người cùng nhau thực hiện một dự án và muốn liên lạc, truyền thông tin, tài liệu một cách hiệu quả, kín đáo.

Nhóm bí mật

Khác với nhóm kín, không một ai trên Facebook có thể tìm thấy nhóm bí mật ngoài thành viên trong group. Nhóm bí mật cũng sẽ không xuất hiện trên hồ sơ trang cá nhân của bạn cũng như giúp bạn chia sẻ thông tin trong bí mật.

Bạn sẽ không thể tìm thấy những nhóm này trên facebook, trừ khi bạn được chủ nhóm hoặc các thành viên khác trong nhóm gửi link mời vào.

Một số điều về group bạn cần biết

Bất kỳ ai có tài khoản facebook đều tạo được group

Khi bạn tham giam một nhóm nào đó (có thể là công khai hoặc riêng tư) thì bạn bè của bạn đều nhìn thấy những nhóm bạn đã tham gia.

Nếu bạn rời khỏi nhóm facebook sẽ gửi thông báo đến người quản trị của nhóm

Nhóm sẽ bị xóa nếu người quản trị nhóm thực hiện xóa group hoặc đóng tài khoản facebook.

Group và Fanpage có ưu điểm gì? Loại hình Facebook Groups Facebook Pages Ưu điểm

– Dễ dàng giao tiếp với tất cả các thành viên.

– Tạo hoặc quảng bá các sự kiện trên Group.

– Cho phép bạn gửi tin nhắn đến tất cả những thành viên đang online.

– Hạn chế quyền truy cập nhóm bằng cách thay đổi cài đặt nhóm thành Closed hoặc Secret.

– Dễ thiết lập.

– Là nơi tuyệt vời để tương tác với khách hàng của bạn

– Giúp quảng bá các trang ngoài Facebook dễ dàng hơn thông qua việc sử dụng URL.

– Dễ dàng thay đổi Fanpage để phục vụ cho mục đích tiếp thị.

Nhược điểm

Không có tính năng insights

Khó theo dõi và kiểm soát

Mọi người khó tìm kiếm nhóm

Cần chăm sóc thường xuyên

Đầu tư về nội dung cao

Mất chi phí quản lý

Kiểm soát thường xuyên

Hướng dẫn cách tạo nhóm trên Facebook Bước 1: Tìm tab “Group”

Tại giao diện facebook trên máy tính, bện để ý bên tay trái của mình có một thanh gồm nhiều mục. Bạn kéo xuống và tìm đến “nhóm”.

Bạn bấm vào mục tạo nhóm rồi chuyển qua bước 2.

Bước 2: Chọn “Create Group”

Sau khi bấm vào “nhóm” sẽ dẫn đến bạn đến giao diện tương tự như sau:

Công việc của bạn rất đơn giản, chỉ cần bấm vào chữ tạo nhóm đã được khung đỏ như trên.

Bước 3: Điền thông tin cho nhóm

Sau khi bấm tạo nhóm xong, facebook sẽ yêu cầu bạn điền một số thông tin cơ bản cho nhóm:

Tên nhóm: Chí là tên sau này nhóm sẽ hiển thị, bạn cần suy nghĩ cẩn thận vì facebook chỉ cho đổi tên 3 lần thôi. Đặt tên nhóm ra sao hay cần những yêu cầu gì mình sẽ hướng dẫn sau.

Hiển thị: Bạn chọn ai cũng có thể tìm nhóm này, vì đâu phải nhóm bí mật mà phải chặn thông tin đúng không?

Bước 4: Thêm ảnh bìa

Sau khi bạn tạo xong rồi, tuy nhiên nhóm của bạn trông rất sơ sài. Bạn cần tải 1 ảnh bìa lên nhìn cho chất lượng và đáng tin 1 chút.

Bước 5: Điền đầy đủ các thông tin về nhóm

Phần giới thiệu nhóm rất quan trọng vì những lý do sau đây:

Mô tả những quy tắc bạn đặt cho nhóm (nếu có) để đảm bảo Group luôn là một môi trường an toàn, thân thiện.

Vì thế, hãy điền phần giới thiệu này những mô tả mà bạn nghĩ là phù hợp nhất với nhóm của bạn. Nó sẽ giúp ích cho việc thu hút thêm người tham gia đó!

Bước 5: Chỉnh sửa nhóm nâng cao

Group Name – Tên nhóm

Group Type – Loại nhóm

Description – Mô tả

Tags – Thẻ tag

Locations – Vị trí

Linked Pages – Trang được liên kết với nhóm

Privacy Settings – Thiết lập quyền riêng tư

Membership Approval – Duyệt thành viên: Cho phép tất cả mọi người thêm thành viên mới hoặc chỉ mình bạn có quyền đó.

Set a Group Address – Thêm địa chỉ URL nhóm: Bạn có thể thêm link của nhóm URL (để dễ dàng chia sẻ nhóm với mọi người) và địa chỉ Email để mọi người có thể gửi mail trực tiếp cho nhóm.

Change your Description – Thay đổi mô tả nhóm

Change Posting Permission – Thay đổi quyền đăng bài: Bạn có thể quyết định xem chỉ admin hay tất cả thành viên đều có thể đăng bài trong nhóm. Điều này tùy thuộc vào cách mà bạn muốn nhóm mình hoạt động.

Post Approval – Phê duyệt bài đăng: Bạn có thể bật chế độ phê duyệt để trước khi mỗi bài đăng được đăng lên, sẽ phải qua sự kiểm duyệt của admin.

Bước 6: Thêm các thành viên vào nhóm

Bắt đầu thì nhóm chỉ có 1 thành viên là bạn. Lúc này để tăng thêm số người tham gia nhóm bạn cần thêm các thành viên vào.

Để thêm hoặc mời mọi người vào nhóm, bạn hãy sử dụng bảng “Add members” ở bên phải trang nhóm.

Ngoài ra, bạn cũng có thể dùng tiện ích mở rộng – Buffer extension của Google để chia sẻ nhóm Facebook qua những tài khoản Social khác (Twitter, Youtube,…)

Kinh nghiệm xây dựng group bền vững

Để có một group đông thành viên và tương tác tốt, thì theo kinh nghiệm của tôi bạn nên làm những điều sau:

Kiểm soát thành viên gia nhập

Chính vì vậy điều tiên quyết để có một group mạnh và bền vững thì việc lọc thành viên gia nhập là điều cần thiết.

Nếu bạn thấy mất quá nhiều thời gian cho việc này thì nên phân quyền của mình cho các thành viên khác trong nhóm để phê duyệt nhanh hơn.

Một cộng đồng chất lượng thì phải có thành viên đúng tiêu chí của cộng động.

Tăng tương tác nhóm

Tạo cơ hội trò chuyện, giao tiếp với các thành viên, có thể từ 2 đến 3 lần một tuần.

Những người tham gia nhóm sẽ cảm thấy được lắng nghe cũng như cảm nhận được rằng họ sẽ có nhiều lợi ích khi ở trong nhóm của bạn.

Kiểm soát đăng bài

Trong phần “Group settings”, bạn có thể chỉnh sửa quyền của thành viên cũng như cài đặt đăng bài.

Ví dụ: bạn có thể cài đặt: chỉ admin hoặc quản trị viên mới có thể duyệt thành viên mới hoặc tất cả các bài đăng phải thông qua sự phê duyệt của quản trị viên.

Bạn cũng có thể tìm hiểu trước về thành viên mới bằng cách yêu cầu họ điền vào bảng câu hỏi trước khi họ tham gia nhóm. Sẽ có 3 câu hỏi và tối đa 250 kí tự để họ trả lời.

Xóa thành viên vi phạm

Bạn cũng nên cân nhắc chặn họ khỏi group nếu cảm thấy họ đã vi phạm quá nhiều.

Kết luận

Hậu Bùi là một chàng trai có niềm đam mê với marketing. Tốt nghiệp chuyên ngành Marketing, đã chinh chiến trong lĩnh vực marketing hơn 3 năm. Mong muốn chia sẻ những kiến thức thực chiến marketing đến những người có cùng đam mê.

Hướng Dẫn Tạo Form Đăng Ký Thành Viên

Code css

* { margin: 0px; padding: 0px; } body { background: url(../img/fancy_shadow_ne.png); background-size: 7px; } #nen { widht: 900px; margin: 0px auto; } #img { width: 900px; margin: 0px auto; } #dk { margin: 0px auto; width: 900px; border: 1px solid #ccc; background: white; } td { padding: 5px 0px; } #nd { margin: 0px 150px; width: 900px; } label { margin: 0px 30px; color: #000020; font-size: 20px; font-family: serif; } .input1 { padding: 5px 30px; font-family: serif; font-size: 20px; margin-left: 40px; } span { color: #F60; } .nut { width: 100px; padding: 6px 3px; font-size: 18px; } p.xacnhanten { margin-left: 40px; width: 200px; color: #F60; font-size: 17px; } #hide { display: none } #load { display: inline-block; }

Bạn tạo file chúng tôi và copy doạn code bên dười vào và bạn tạo file chúng tôi (trong file này các bạn chứa các đều khoản khi đăng ký nhe) để jquery load file này vào khung thông tin điều khoản

Code html

Bạn include thu viện jquery vào nhe() và copy đoạn code bên dưới vào để sữ dụng jquery

$(document).ready(function() { var url = "thongtindeukhoan.php"; $("#tt-dkhoan").load(url).slideDown('slow'); $('#hide').css('display', 'block'); $("#tt-dkhoan").slideUp('slow'); }); $("#tt-dkhoan").slideDown('slow'); }); }); });

code SQL

CREATE TABLE IF NOT EXISTS `thanhvien` (`ID_THANHVIEN` int(11) NOT NULL AUTO_INCREMENT, `HOTEN` varchar(30) COLLATE utf8_unicode_ci NOT NULL, `TENDANGNHAP` varchar(50) COLLATE utf8_unicode_ci NOT NULL, `MATKHAU` varchar(100) COLLATE utf8_unicode_ci NOT NULL, GIOITINH` tinyint(1) NOT NULL, `DIACHI` text COLLATE utf8_unicode_ci NOT NULL, EMAIL` varchar(50) COLLATE utf8_unicode_ci NOT NULL, `QUYEN_HAN` int(1) NOT NULL, PRIMARY KEY (`ID_THANHVIEN`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=

Các bạn tạo file chúng tôi và include vào file xulydangky.php để kết nối tới localhost chứa database của các bạn

Code php

include('db.php'); if (isset($_POST['xn'])) { if ($_POST['hoten'] == "") { exit; } else { $hoten = addslashes($_POST['hoten']); } if ($_POST['tdn'] == "") { exit; } else { echo 'khong su dung ten dang nhap nay'; exit; } else { $tendangnhap = $_POST['tdn']; } } if ($_POST['mk'] == "") { exit; } else { $matkhau = md5(addslashes($_POST['mk'])); } if ($_POST['xnmk'] == "") { exit; } else { $xacnhanmatkhau = md5(addslashes($_POST['xnmk'])); } if ($matkhau != $xacnhanmatkhau) { exit; } else { $matkhau = $xacnhanmatkhau; } if ($_POST['gioitinh'] != "") { $gioitinh = $_POST['gioitinh']; } else { exit; } if ($_POST['email'] == "") { exit; } else { $email = $_POST['email']; } if ($_POST['diachi'] == "") { exit; } else { $diachi = $_POST['diachi']; } if (!isset($_POST['xacnhan_dieukhoan'])) { exit; } else { $xacnhan_dk = $_POST['xacnhan_dieukhoan']; } $quyen_han = 2; if ($hoten && $tendangnhap && $matkhau && $email && $diachi && $xacnhan_dk && $quyen_han) { $sql = "insert into thanhvien(HOTEN,TENDANGNHAP,MATKHAU,GIOITINH,DIACHI,EMAIL,QUYEN_HAN) values('".$hoten."','".$tendangnhap."','".$matkhau."','".$gioitinh."','".$diachi."','".$email."','".$quyen_han."')"; $query = mysql_query($sql, $con); if ($query) { echo 'dang ky '.$tendangnhap. } else { } } else { echo "that bai"; } }

Xây Dựng Trang Đăng Nhập Trong

Trong bài viết này mình sẽ hướng dẫn các bạn làm trang đăng nhập cho website hoặc ứng dụng. Đây là vấn đề mà mình thấy nhiều bạn còn gặp khó khắn và hỏi trên các diễn đàn.

Khi đăng nhập bạn cần Form đăng nhập bao gồm TenDangNhap và Mật khẩu. Khi người dùng nhập các thông tin đúng và đăng nhập bạn cần kiểm tra các thông tin này, nếu hợp lệ sẽ cho phép chuyển trang tiếp theo bằng việc khai báo và sử dụng các biến Session. Để thực hiện được trước tiên bạn cần tạo Table trong database có chứa các thông tin cần đăng nhập như sau:

Trong bài viết này mình cần quan tâm tới các trường TenDangNhap – Tên đăng nhập, MatKhau – Mật khẩu đã được mã hóa, TrangThai – Trạng thái của TenDangNhap mình phân tích sẽ có 3 trạng thái đó là: 1-Bình thường, 2 – Trạng thái khóa, 0 – Yêu cầu đổi mật khẩu. Còn các trường khác như MaPhongBan, MaQuyen, … mình sẽ nói ý nghĩa và sử dụng của các trường này ở bài sau về vấn đề phân quyền ứng dụng. Ta sẽ cần viết các thủ tục trong SQL như sau:

/*Create by: hungbv@hmweb.com.vn Muc đích: Kiểm tra thông tin đăng nhập có hợp lệ không Đầu vào: TenDangNhap MatKhau Đầu ra: */ CREATE PROCEDURE [dbo].[spTB_DangNhap_KiemTraDangNhap] @TenDangNhap nvarchar(50), @MatKhau nvarchar(150) AS BEGIN DECLARE @OutPut int DECLARE @KiemTraTenDangNhap int DECLARE @KiemTraMatKhau int DECLARE @TrangThai int SELECT @KiemTraTenDangNhap=isnull(Count(tdn.TenDangNhap),0) FROM TB_DangNhap tdn WHERE tdn.TenDangNhap=@TenDangNhap SELECT @TrangThai =isnull(tdn.TrangThai ,0) FROM TB_DangNhap tdn WHERE tdn.TenDangNhap=@TenDangNhap IF @KiemTraTenDangNhap=0 SET @OutPut=1 -- Sai TenDangNhap ELSE BEGIN SELECT @KiemTraMatKhau =isnull(count(*),0) FROM TB_DangNhap tdn WHERE tdn.TenDangNhap=@TenDangNhap AND tdn.MatKhau=@MatKhau IF @KiemTraMatKhau=0 SET @OutPut=2 -- Sai mật khẩu ELSE BEGIN IF @TrangThai=0 SET @OutPut=4 -- Phải đổi mật khẩu ELSE BEGIN IF @TrangThai=2 -- TenDangNhap đang bị khóa SET @OutPut=3 ELSE SET @OutPut=0 END END END SELECT @OutPut AS KetQua END

Trong Store trên bạn thấy ứng với các thông tin đăng nhập bạn nhập vào đúng hay sai thì Store đều trả về cho bạn giá trị tương ứng.

Tiếp theo ta sẽ xây dựng Form đăng nhập bao gồm các textbox và button trong trang aspx như sau:

Trong Form ta sẽ cần các Textbox txtUserName, txtPassword và các RequiredFieldValidator yêu cầu các trường này không được trống

<asp:TextBox runat="server" CssClass="login_TextForm" <asp:RequiredFieldValidator runat="server" ControlToValidate="txtUserName" Display="Dynamic" <asp:TextBox runat="server" CssClass="login_TextForm" TextMode="Password" <asp:RequiredFieldValidator runat="server" ControlToValidate="txtPassword" Display="Dynamic" <asp:Button runat="server" CssClass="textbox" Text="Đăng nhập" Font-Bold="False"

Form mà mình xây dựng có hình ảnh như minh họa sau:

Tiếp theo chúng ta cần viết các hàm trong trang chúng tôi như sau:

Trong Database của bạn khi lưu thông tin đăng nhập bạn cũng cần lưu mật khẩu dưới dạng mã hóa như của hàm này. Ở đây mình sử dụng kiểu mã hóa SHA1 của lớp System.Security.Cryptography hàm được viết như sau: (Bạn cần khai báo using … các lớp cần sử dụng tương ứng)

public string MaHoaMatKhau(string password) { UnicodeEncoding encoding = new UnicodeEncoding(); Byte[] hashBytes = encoding.GetBytes(password); SHA1CryptoServiceProvider sha1 = new SHA1CryptoServiceProvider(); Byte[] cryptPassword = sha1.ComputeHash(hashBytes); return BitConverter.ToString(cryptPassword); }

Tiếp theo chúng ta cần viết các hàm để thực thi Store đã viết ở trên (Nếu các bạn dùng VS2008 thì có thể dùng Linq để thực hiện dễ dàng hơn. Vì ở đây trong bài viết mình không đưa Database lên nên mình chỉ minh họa bằng các hàm như sau)

private static DataSet ThucThiStore_DataSet( string StoredProcedure, params SqlParameter[] Parameters) { string ConnectionString = @"Server =.SQL2005;Initial Catalog=DatabaseName;User ID=sa;Password=***"; SqlConnection Conn = new SqlConnection(ConnectionString); SqlCommand Command = new SqlCommand(StoredProcedure, Conn); if (Parameters != null) { Command.Parameters.Clear(); Command.Parameters.AddRange(Parameters); } DataSet ds = new DataSet(); SqlDataAdapter da = new SqlDataAdapter(StoredProcedure, Conn); Command.CommandType = CommandType.StoredProcedure; da.SelectCommand = Command; try { Conn.Open(); da.Fill(ds); } finally { if (Conn.State == ConnectionState.Open) Conn.Close(); Conn.Dispose(); } return ds; } private DataTable StoreToDataTable( string TenDangNhap, string MatKhau) { SqlParameter[] arrParam = { new SqlParameter("@TenDangNhap", SqlDbType.NVarChar), new SqlParameter("@MatKhau", SqlDbType.NVarChar) }; arrParam[0].Value = TenDangNhap; arrParam[1].Value = MatKhau; return ThucThiStore_DataSet("spTB_DangNhap_KiemTraDangNhap", arrParam).Tables[0]; } protected void Page_Load(object sender, EventArgs e) { { Response.Redirect("Default.aspx"); } } { KiemTraNhap(txtUserName.Text + "", MaHoaMatKhau(txtPassword.Text).Trim()); } private void KiemTraNhap(string TenDangNhap, string MatKhau) { DataTable dtb = StoreToDataTable(TenDangNhap, MatKhau); int num = 0; { num = int.Parse("0" + dtb.Rows[0][0]); switch (num) { case 0: Session["TenDangNhap"] = txtUserName.Text.ToString().ToLower(); Session["MatKhau"] = MaHoaMatKhau(txtPassword.Text); Response.Redirect("Default.aspx"); break; case 1: ScriptManager.RegisterStartupScript(this, this.GetType(), "redirectMe", "alert('Lỗi: Tên đăng nhập không tồn tại');", true); break; case 2: ScriptManager.RegisterStartupScript(this, this.GetType(), "redirectMe", "alert('Lỗi; Mật khẩu đăng nhập không đúng!');", true); break; case 3: ScriptManager.RegisterStartupScript(this, this.GetType(), "redirectMe", "alert('Lỗi: Tên đăng nhập này đã bị khóa!');", true); break; case 4: ScriptManager.RegisterStartupScript(this, this.GetType(), "redirectMe", "alert('Bạn phải đổi mật khẩu trước khi đăng nhập!');location.href='DoiMatKhau.aspx?userid=" + TenDangNhap + "'", true); break; } } dtb.Dispose(); }

Cập nhật thông tin chi tiết về Bài 46: Xây Dựng Chức Năng Đăng Ký Thành Viên Với Php Và Mysql trên website Rafs.edu.vn. Hy vọng nội dung bài viết sẽ đáp ứng được nhu cầu của bạn, chúng tôi sẽ thường xuyên cập nhật mới nội dung để bạn nhận được thông tin nhanh chóng và chính xác nhất. Chúc bạn một ngày tốt lành!