Lưu Dữ Liệu Sinh Viên

Ở bài học này tôi sẽ hướng dẫn bạn tạo trang save.php để lưu dữ liệu của sinh viên được gửi từ client lên trên server. Bây giờ bạn hãy tạo file save.php ở trong thư mục của dự án với nội dung như sau:

<?php
require('connect_db.php');
if ($_SERVER['REQUEST_METHOD'] != 'POST')
    die('Invalid HTTP method!');
else
    print_r($_POST);
?>

Tiếp theo trên trình duyệt, chúng ta mở lại trang edit.php và truyền vào giá trị cho code trong query string của URL là 15200 và sau đó sửa ở phần Họ và Tên sửa giá trị này thành Nguyên Lê Hoài An thay vì Nguyên Lê Hoài Anh:

PHP Lưu dữ liệu lên database

Sau đó bấm nút Cập Nhật để gửi dữ liệu lên server. Bạn sẽ thấy trình duyệt hiển thị kết quả như sau:

PHP Lưu dữ liệu lên database

Ở đây do chúng ta không thêm thẻ <meta charset="utf-8"> trong trang save.php nên bạn sẽthấy font chữ của trang bị vỡ khi hiển thị kết quả trên trình duyệt. Tuy nhiên, như bạn thấy ở phần ngay tiếp sau, trang save.php này sẽ được sử dụng để lưu dữ liệu mà không hiển thị bất kỳ kết quả nào nên chúng ta không cần các thẻ HTML như một trang hiển thị dữ liệu thông thường.

Vì chúng ta chỉ cho phép người dùng gửi request tới trang này theo phương thức POST, nên nếu bạn truy cập trực tiếp trang save.php này bằng trình duyệt, bạn sẽ thấy trình duyệt hiển thị dòng lỗi Invalid HTTP method:

PHP Lưu dữ liệu lên database

Update mã lệnh trên file save.php bằng cách comment phần câu lệnh else trong khối lệnh điều kiện if .. else..:

if ($_SERVER['REQUEST_METHOD'] != 'POST')
    die('Invalid HTTP method!');
// else
//  print_r($_POST);

Đồng thời thêm đoạn code sau ngay dưới đoạn mã mới được comment:

$sql = "UPDATE students SET fullname = '".$_POST['fullname']."', dob = '".$_POST['dob']."', gpa = '".$_POST['gpa']."'"
    ." WHERE code = '".$_POST['code']."'";

mysqli_query($link, $sql);

$adminURL = 'admin.php';
header('Location: '.$adminURL);

Ở đoạn mã trên chúng ta xây dựng câu lệnh truy vấn SQL sử dụng các giá trị gửi từ client thông qua biến $_POST. Tiếp theo chúng ta sẽ cập nhật câu CSDL sử dụng câu lệnh mysqli_query quen thuộc:

mysqli_query($link, $sql);

Kết thúc câu lệnh này chúng ta sẽ chuyển tiếp người dùng về trang admin.php để hiển thị thông tin danh sách các sinh viên trong lớp mới được cập nhật.

Bây giờ bạn hãy thử mở lại trang edit.php với giá trị parameter của code vẫn là 15200. Sửa giá trị của trường Họ và Tên sau đó bấm nút Gửi bạn sẽ thấy thông tin của sinh viên tương ứng với mã số này được cập nhật.

Content must not be empty

Related Tutorial