Ý kiến học viên

Bùi Quốc Đạt

Bùi Quốc Đạt

Website thiết kế đẹp dễ nhìn và sử dụng, thông tin chưa nhiều nhưng kh...
  • - Phone : 0964142565
  • - Email : bqdat.it@gmail.com
Bùi Thu Hường

Bùi Thu Hường

Giảng viên hướng dẫn nhiệt tình, dễ hiểu. Chuẩn bị bài giảng của giảng...
  • - Phone : 01677692999
  • - Email : buithuhuong1107@gmail.com
Trần Văn Tùng

Trần Văn Tùng

Giảng viên nhiệt tình giảng dạy. dễ tiếp thu, dễ hiểu.
  • - Phone : 01667419325
  • - Email : dongjan479@gmail.com
  • - Facebook : Xem
Viết đánh giá

Viết đánh giá

Về chất lượng đào tạo, website

Đánh giá của học viên

Ý kiến của học viên

Xem đánh giá của học viên về phpandmysql.net

Bài 7. PHP căn bản - Form và xử lý form trong PHP

Khi bạn vào một website để mua hàng, nghe nhạc , chia sẻ thông tin hay chat chít gì đó ... thì form là yếu tố không thể thiếu để giúp bạn thực hiện các thao tác này
 Cấu trúc của 1 form có dạng 

<form action = "" method = "">
</form>

Trong đó action sẽ là nơi nhận và xử lý dữ liệu khi người dùng nhập vào form và ấn submit để gửi. Method là phương thức truyền dữ liệu trong form, có 2 phương thức truyền dữ liệu là POST và GET. Cụ thể chúng ta sẽ xét ví dụ sau

- Ta có form với method đang là POST và action dữ liệu sẽ được gửi đến file login.php



Giao diện của form khi view lên trình duyệt


- Khi người dùng nhấn nút "Đăng nhập" thì dữ liệu mà người dùng vừa nhập vào ( bao gồm username  và password) sẽ được truyền theo phương thức POST sang file login.php, Ở file login.php này chúng ta sẽ lấy được dữ liệu thông qua biến môi trường $_POST.

- Trong PHP chúng ta sẽ lấy được giá trị của các text field qua thuộc tính name, ở đây chúng ta đang có 2 text field là name="user_name" và name="user_pass" trong cặp thẻ input type="text" và input type="password"
File login.php : 

<?php
     $username = $_POST['user_name'];
     $password = $_POST['user_pass'];        
     echo "Your name : ".$username."<br />";      
     echo "Your pass : ".$password;
?>
- Tương tự nếu người truyền dữ liệu theo phương thức GET thì chúng ta sẽ lấy được dữ liệu qua biến $_GET
File login.php : 

<?php
     $username = $_GET['user_name'];
     $password = $_GET['user_pass'];        
     echo "Your name : ".$username."<br />";      
     echo "Your pass : ".$password;
?>
- Sự khác nhau giữa POST và GET là gì ? 

Với phương thức POST thì dữ liệ được truyền đi ngầm sang file login.php, còn với phương thức GET dữ liệu được gủi đi và dữ liệu mà chúng ta vừa nhập vào sẽ được show lên ở thanh address bar của trình duyệt



Việc truyền dữ liệu lên thanh địa chỉ như vậy khiến cho thông tin của chúng ta không được bảo mật, người dùng hoàn toàn có thể can thiệp đến dữ liệu của chúng ta vì vậy với những form có thông tin cần bảo mật như đăng nhập hay đăng ký thì chúng ta không nên sử dụng phương thức GET 

- Okie đó là 2 phương thức POST và GET, tiếp theo chúng ta tiến hành check thông tin do người dùng nhập dữ liệu vào
<?php    
     $username  = "";            
     $password  = "";  
     // Nếu người dùng chưa nhập dữ liệu, đưa ra thông báo   
     if($_POST['user_name'] == NULL){ 
        echo "Please enter your name";
        die();
     }else{
        $username = $_POST['user_name'];
     }
     // Nếu chưa nhập password
     if($_POST['user_pass'] == NULL){ 
        echo "Please enter your pass";
        die();
     }else{
        $password = $_POST['user_pass'];
     }
     // Nhập đúng user và pass
     if($username == "yourname" and $password == "123456"){ 
        echo "Login successfuly";
     }else{
        echo "Login false";
     }
?>
Ở ví dụ trên ta sẽ bắt các trường hợp xảy ra khi người dùng thao tác. Ban đầu nếu người dùng không nhập username thì báo lỗi yêu cầu họ nhập dữ liệu, ngược lại khi người dùng nhập dữ liệu thì chúng ta sẽ lấy được username mà họ vừa nhập vào thông qua biến $_POST['user_name'] và gán cho biến $username.

Tương tự password cũng như username vậy, nếu người dùng chưa nhập dữ liệu thì báo lỗi, ngược lại thì lấy dữ liệu họ vừa nhập và gán vào biến $password.

Kiểm tra xem người dùng có nhập username = "yourname" và password = "123456" hay không, nếu họ nhập đúng thì sẽ thông báo cho biết đã đăng nhập thành công, ngược lại thì báo cho họ biết họ nhập sai username và password

Đúng ra thì sau khi nhập username và password , chúng ta sẽ truy vấn với database để so sánh xem thông tin họ nhập vào có giống với thông tin lưu trong database hay không. ở đây chúng ta chưa học đến database nên tôi tạm thời lấy thông tin user và pass làm ví dụ, mục đích chính là để các bạn hiểu được cách xử lý đơn giản nhất.

- Bài tập áp dụng : Dùng form nhập vào 2 số a và b, kết hợp với PHP để giải bài toán phương trình bậc 1 ax + b = 0

Các bạn có thể download tại đây 
Bạn vẫn chưa hiểu vấn đề, bạn cần người trợ giúp?. Hãy click vào đây để gửi câu hỏi, mọi người sẽ support cho bạn