[BÀI 11] XỬ LÝ FORM TRONG PHP
Tổng quan Một trong những ứng dụng quan trong của PHP đó là giúp tương tác xử lý dữ liệu trên form của người sử dụng. Nhằm mục đích giúp cập nhật thông tin một cách linh động và dễ dàng quản lý chúng hơn bởi sự kết hợp tuyệt vời của cơ sở dữ liệu. Tuy nhiên để làm được điều ấy PHP yêu cầu form ...
Tổng quan
Một trong những ứng dụng quan trong của PHP đó là giúp tương tác xử lý dữ liệu trên form của người sử dụng. Nhằm mục đích giúp cập nhật thông tin một cách linh động và dễ dàng quản lý chúng hơn bởi sự kết hợp tuyệt vời của cơ sở dữ liệu. Tuy nhiên để làm được điều ấy PHP yêu cầu form phải đáp ứng một số quy định chung đặt ra.
Chúng ta cùng phân tích thẻ form trong HTML sau:
1 |
<form name="Tên form" action="Link xử lý" method="Phương thức"> |
Chúng ta thấy rằng 1 form phải bao gồm:
- Tên form: để dễ dàng tách biệt với giá trị của chúng.
- Action: hành động chuyển tiếp đến link xử lý.
- Method: là phương thức truyền bao gồm POST và GET.
Xét ví dụ trang login sau:
1 2 3 4 5 6 |
<form action = "login.php" method = "post" name = "login"> Please type your name here:</br> <input type="text" name="username"></br></br> <input type="password" name="password"></br></br> <input type="submit" value="Submit" name ="add"> </form> |
Đoạn code trên làm những việc sau: Đầu tiên khi khách nhập liệu username vào thì chúng sẽ chuyển tới trang test.php để tiến hành xử lý thông tin. Trên phương thức POST, với tên form là user. Giá trị mà chúng ta gởi là username vừa nhập liệu. Để lấy được giá trị vừa nhập. PHP cho phép ta lấy giá trị dựa vào 2 phương thức POST và GET .
Tìm hiểu phương thức
Phương thức POST
Phương thức này được sử dụng để lấy dữ liệu từ form nhập liệu và chuyển chúng lên trình duyệt Web. Được dùng để lấy giá trị của các điều khiển trên form thông qua phương thức POST. Thông tin được gửi từ form với phương thức POST không giới hạn lượng
thông tin gửi đi và sẽ không được hiển thị trên địa chỉ URL nên người dùng không thẻ thấy được.
Cú pháp: lấy giá trị của một đối tượng trên form sau khi form submit:
$_POST[“Giá trị”] .
Ví dụ: lấy giá trị TextFiel tên là username.
$user = $_POST[‘username’] ; //gán biến $user để lấy giá trị của ô nhập liệu Username.
– Xây dựng trang HTML tạo một form Login với ô nhập liệu Username và Password có method là POST và action dữ liệu sẽ được gửi đến file login.php
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<html> <head> <meta charset="utf-8"> <title>POST</title> </head> <body> <form action = "login.php" method = "POST" name = "login"> Username: <input type="text" name="username"></br></br> Password: <input type="password" name="password"></br></br> <input type="submit" value="Login" name ="click"> </form> </body> </html> |
Sau khi khởi tạo ta được kết quả trên màn hình như sau:
Khi người dùng nhấn nút “Login” thì dữ liệu mà người dùng vừa nhập vào sẽ được truyền theo phương thức POST sang file login.php. Ở file login.php sẽ lấy được dữ liệu thông qua biến môi trường $_POST.
Tạo file login.php :
1 2 3 4 5 6 |
<?php $u=$_POST['username']; $p=$_POST['password']; echo "Username vừa nhập là: ".$_POST['username'] ; echo "</br>Password vừa nhập là: ".$_POST['password'] ; ?> |
Phương thức GET
Được dùng để lấy các giá trị trên form thông qua phương thức GET. Thông tin được gửi tử form với phương thức này có giới hạn lượng thông tin gửi đi và sẽ hiển thị trên địa chỉ URL nên người dùng có thể thấy được các thông tin này.
Cú pháp: lấy giá trị của một đối tượng trên form sau khi submit:
$_GET[‘Giá trị’]
Để lấy giá TextField tên là username
$user = $_GET[‘username’]; // gán biến $user để chứa giá trị của ô nhập liệu Username.
Lấy lại vị dụ ở phần phương thức POST, thay phương thức POST bằng GET khi nhập Username và Password trên URL các bạn sẽ thấy tên đăng nhập và mật khẩu mà mình vừa nhập vào ở trên đó.
http://localhost:888/LTPHP/login.php?username=DevPro&password=123456&click=Login
Chú ý: vì người dùng có thể thấy được thông tin gửi đi thông qua địa chị URL do đó không nên dùng phương thức GET nên các thông tin gửi đi có tính chất như bảo mật, sốtài khoản…
Kiểm tra thông tin người dùng đã nhập dữ liệu vào ô Username và Password chưa, khi Login kiểm tra xem có đúng mà bạn vừa nhập thông tin ở hai ô nhập liệu không. Vì chưa học về MySQL : cơ sở dữ liệu trong PHP nên mặc định tên tài khoản và mật khẩu để kiểm tra thông tin.
Tạo hàm check.php:
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 |
<?php $u=""; // khởi tạo biến $u để lưu giá trị của ô Username $p=""; // khởi tạo biến $p để lưu giá trị của ô Password if(isset($_POST['click'])) { if($_POST['username']==NULL){ echo "Hãy nhập tên đăng nhập</br>"; } else { $u=$_POST['username']; } if($_POST['password']==NULL){ echo "Hãy nhập mật khẩu</br>"; } else{ $p=$_POST['password']; } if($u == "devpro" && $p == "123456"){ echo "Login successfuly"; }else{ echo "Login false"; } } ?> |
- Các mục bài về lập trình Web.
- Tham khảo các khóa học lập trình của DevPro tại đây !!!