Ở bài trước, chúng ta đã dừng lại ở việc hiển thị dữ liệu danh sách thành viên có trong cơ sở dữ liệu ra ngoài dưới dạng bảng. Trong bài viết này, mình sẽ tiếp tục hướng dẫn các bạn bổ sung thêm chức năng cập nhật thông tin thành viên.

Review lại mục 3 ở bài viết trước , trên mỗi dòng của table, cột hành động, chúng ta có các chức năng là Sửa

Khi người dùng click link này, người quản trị sẽ được chuyển hướng tới các trang chinh-sua-thanh-vien.php , trong trang này chúng ta sẽ viết các đoạn mã làm nhiệm vụ sửa các thông tin của user như là họ tên, địa chỉ email, quyền và lưu xuống cơ sở dữ liệu.

3. Tạo trang quản lý thành viên

a. Trang sửa thông tin thành viên

Tạo file chinh-sua-thanh-vien.php, đặt trong thư mục admin.

chỉnh sửa thành viên

Trong trang này, chúng ta sẽ dùng phương thức $_GET để lấy biến id của người dùng truyền qua từ bên trang quan-ly-thanh-vien.php, sau đó thực hiện việc gọi vào cơ sở dữ liệu, thông qua biến id để truy vấn toàn bộ thông tin người dùng lên để quản trị viên có thể xem được thông tin người dùng, đồng thời tiến hành cập nhật khi quản trị viên chỉnh sửa một thông tin nào đó.

Bước 1 : Tạo form hiển thị thông tin

Trong file quan-ly-thanh-vien.php, gõ đoạn code như bên dưới để thiết kế một form dùng để hiển thị thông tin thành viên với các field họ tên, địa chỉ email, cấp độ và một button để lưu thông tin xuống cơ sở dữ liệu.

Vào http://localhost/my_website/admin/chinh-sua-thanh-vien.phpcác bạn sẽ thấy giao diện như sau :

form thông tin thành viên

Vậy là chúng ta đã thiết kế xong giao diện hiển thị thông tin.

Bước 2 : thực hiện truy vấn, hiển thị thông tin

Như những lần trước, để gọi vào cơ sở dữ liệu, ta phải require_one trang connection.php vào

tiếp đến, lấy tham số id được truyền tới bằng biến $_GET và kiểm tra xem biến có tồn tại hay không bằng từ khóa isset (nếu tồn tại sẽ trả về true, ngược lại sẽ trả về false). Nếu tồn tại biến id, ta sẽ thực thi việc lấy thông tin thành viên thông qua biến id đó.

Sau khi đã lấy thông tin user, ta sẽ truy vấn dữ liệu và hiển thị dữ liệu

Ở đoạn code trên, sau khi đã truy vấn các thông tin trong cơ sở dữ liệu như name, email, level. Ta sẽ tiến hành gửi các giá trị này vào thuộc tính value của các thẻ <input> để hiển thị thông tin ứng với mỗi field. Các bạn lưu ý đoạn code

đây chỉ đơn giản là cách viết tắt của đoạn code sau :

để hiểu rõ hơn, các bạn có thể lên google, gõ từ khóa “PHP Shorthand If / Else” để đọc nhé. Mục đích của đoạn code trên là mình sẽ kiểm tra nếu mà dữ liệu level bằng 1 thì sẽ ép dropdown hiển thị tùy chọn là Administrator, ngược lại nếu bằng 2 sẽ là Member

Lưu lại toàn bộ code đã thay đổi, chạy link http://localhost/my_website/admin/chinh-sua-thanh-vien.php?id=1 (với id là tham số truyền từ trang quan-ly-thanh-vien.php), các bạn sẽ được kết quả như sau :

hiển thị thông tin thành viên

Tiếp đến, chúng ta sẽ tiếp tục xử lý nút Lưu thông tin để lưu thông tin người dùng khi quản trị viên thay đổi bất kỳ 1 thông tin nào đó.

Toàn bộ code cho trang chinh-sua-thanh-vien.php

Trong bài tiếp theo, chúng ta sẽ tiếp tục làm tiếp chức năng xóa user ra khỏi hệ thống. Đến đây nếu bạn có bất kỳ thắc mắc nào thì để lại comment bên dưới nhé !

Đánh giá bài viết

Mình là Hiếu.
Mình lập ra Kungfu PHP nhằm mục đích chia sẽ những gì mình biết đến với các bạn bao gồm các lĩnh vực như : tiền điện tử, kiếm tiền online, marketing, lập trình…
Hy vọng nơi đây là mái nhà chung để chúng ta có thể học tập và trao đổi với nhau, cùng nhau phát triển.
Chúc các bạn luôn vui !

Bạn có muốn tham gia nhóm thảo luận ICO tốt nhất ?

22 Comments Already

  1. Tại sao lấy được tham số id bang phương thức GET vậy ad. Trang Quản lý thành viên đâu có form nào phương thức là GET đâu. Và chỗ đoạn này “<a href="chinh-sua-thanh-vien.php?id=”>Sửa” của trang quản lý thành viên là sao ad. Giúp em với. Cảm ơn ad nhiều

    • Bên trang quản lý thành viên, có nút Sửa, khi ấn nút này nó sẽ truyền id qua, và bạn có thể lấy bằng phương thức GET

  2. mình làm theo hướng dẫn nhưng iưu thông tin lại thì nó không sửa nội dung được . không báo lỗi mà cũng có cả câu lệnh thực thi mysqli_query($conn, $sql) nhưng ko update được

  3. Lúc insert em thấy hiển thị ở web là tiếng việt , nhưng trong database nó bị lỗi font .Fix thế nào vậy anh

    • Web hiện thị được tiếng việt là ok rồi bạn, ko cần quan tâm trong DB ntn nhé

  4. Ad ơi cho mình hỏi, làm sao để sau khi ấn Lưu thông tin thì trang báo Lưu thành công và tự chuyển về trang “quan-ly-thanh-vien.php”

    • Khi lưu xong, bạn echo “Lưu thành công”, tiếp đến dùng hàm Header(“Location quan-ly-thanh-vien.php”) để chuyển trang nhé

  5. bạn đó nhấn ko báo lỗi mà ko có tài khoản trong database có thể là do ko bỏ lệnh thực thi câu sql á. mysqli_query($conn, $sql);

  6. Bạn ơi 🙂
    sao mình làm theo hướng dẫn của bạn khi mình ấn cập nhật thì chẳng thấy thông tin nào được cập nhật cả 🙂
    Mình check trong phpmyadmin vẫn như cũ

  7. làm sao để chỉ có admin mới sử và xóa tt đc vậy???

  8. Bài viết dễ hiểu, rõ ràng, cảm ơn bạn

  9. Chào bạn !
    Bài hướng dẫn của bạn rất hay , nhưng khi mình theo hướng dẫn của bạn khi xay dựng xong thì có lỗi :
    Warning: Cannot modify header information – headers already sent by (output started at D:\LUU\AppServ\www\my_website\login.php:10) in D:\LUU\AppServ\www\my_website\login.php on line 37
    Bạn hướng dẫn xử lý lỗi này .
    Cảm ơn bạn

  10. vay thanh vien dang ky xong muon xem lai thong tin da dang ky thi lam nhu the nao

    • Điều này cũng ko cần thiết cho lắm! có thể sử dụng trang chuyển hướng khi đăng ký thành công – tới trang kết quả sẽ in ra dữ liệu vừa đăng ký ( theo id của user, lấy id user vừa đăng ký bằng hàm mysqli_insert_id() hoặc mysql_insert_id() ).

  11. Ad ơi,ad cho em hỏi,sau khi người dùng đăng kí tài khoản của mình xong,chỉ cần nhấn vào nút đăng kí là có thể chuyển đến trang thông báo thành công hay rồi chuyển tiếp đến trang muốn đến thì làm thế nào ạ?

  12. Ad ơi,bài này e làm nhưng phần stt chỉ ra toàn là 1 k tự động tăng được ạ.

    • Vậy là có thể e đã quên tăng 1 cho stt sau mỗi vòng lặp rồi. Chỗ này nè : $stt++ , e kiểm tra lại xem

      • Dạ vâng ạ.. E cảm ơn ad ạ.À,ad cho em hỏi,trang quản lí mình có phải cho hiển thị lên trang web k ạ? Bọn e đang làm bài tập về đề tài quản lí phòng và đặt phòng khách sạn ạ..vì lần đầu tiên làm nên cô k yêu cầu cao và em định làm trang quản lí phòng,quản lí khách hàng và quản lí đặt phòng,khi mà khách hàng đặt phòng nếu thành công thì sẽ thông báo thông tin phòng cho khách hàng,nếu không sẽ thông báo hết phòng mà khách hàng yêu cầu,có thể gợi ý cho khách hàng loại phòng khác ạ.

  13. Bài hướng dẫn rất hay, bổ ích. Cảm ơn nỗ lực của bạn nhé

    • cám ơn bạn, chúc bạn học tốt nhé, mình đang biên soạn và chuẩn bị cho ra nhiều bài viết có ích hơn nữa, bạn chờ xem nhé, chúc bạn học tốt 🙂

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

loading...