[PHP căn bản] Bài 19 – Xử lý dữ liệu của form với PHP

Người đăng: share-nhungdieuhay on Thứ Sáu, 18 tháng 7, 2014

Form là nơi cho phép người dùng nhập các dữ liệu đầu vào, sau đó nếu các dữ liệu này được gửi, PHP sẽ xử lý chúng, sau đó trả về kết quả mà cho người dùng.

B1: Tạo file bai19.php và file submit_form.php trong \wamp\www. Nhập đoạn code 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
<html>
<head>
<title>Bài 19 - Xử lý form</title>
</head>
 
<body>
<form method="get" action="submit_form.php">
 
    <span>Họ và tên</span>
    <input type="text" name="hovaten" />
     
    <br />
     
    <span>Mật khẩu</span>
    <input type="password" name="matkhau" />
     
    <br />
     
    <span>Giới tính</span>
    Nam <input type="radio" name="gioitinh" value="nam" checked>
    Nữ <input type="radio" name="gioitinh" value="nu">
 
    <br />
           
    <span>Năm sinh</span>
    <select name="namsinh">
        <option value="1989">1989</option>
        <option value="1990">1990</option>
        <option value="1991">1991</option>
    </select>
 
    <br />
     
    <input type="submit" value="Gửi" />
     
 
</form>
</body>
</html>
Trong thẻ form có 2 thuộc tính cần lưu í
  • Thuộc tính method:
  • Dùng để quy định phương thức mà các dữ liệu sẽ được gửi đi. Có 2 phương thức chính mà chúng ta cần quan tâm là phương thức get và phương thức post. Nếu không khai báo thuộc tính method hoặc để method=”” thì phương thức mặc định cho form sẽ là get.
  • Thuộc tính action:
  • Dùng để trỏ đến nơi mà các dữ liệu của form sau khi gửi sẽ được xử lý. Đó có thể là một file php hoặc một đường dẫn URL đầy đủ. Nếu không khai báo thuộc tính này hoặc để thuộc tính này trống, dữ liệu của form sẽ được xử lý ngay tại file chứa form.
  • Thẻ <input type=”submit”>
  • Tạo ra nút submit. Chỉ sau khi nút này được bấm, tất cả các dữ liệu trong form mới được gửi đi.
B2: Nhập đường dẫn http://localhost/bai19.php vào trình duyệt
1

Phương thức GET

Để kiểm tra hoặc sử dụng các dữ liệu được gửi tới từ form bằng phương thức get, chúng ta dùng biến $_GET. Đây là một siêu biến toàn cục do PHP hỗ trợ. Các bạn tham khảo thêm tại đâyhttp://php.net/manual/en/reserved.variables.get.php
B3: Mở file submit_form.php, nhập đoạn code sau
1
2
3
4
5
<?php
 
var_dump($_GET);
 
?>
Hàm var_dump() là một hàm có sẵn trong PHP, dùng để kiểm tra các dữ liệu trong một biến. Tham khảo thêm tại http://php.net/manual/en/function.var-dump.php.
B4: Mở trình duyệt, nhập dữ liệu vào form đã tạo
1
B5: Nhân nút Gửi, và kết quả trả về
1
Có thể thấy $_GET là một biến dạng mảng. Các phần tử của nó là các thành phần được khai báo bên trong cặp thẻ form. Tên của các phần tử là giá trị được khai báo bằng thuộc tính name bên trong các phần tử đó. Các giá trị của các phần tử là các giá trị mà chúng ta vừa nhập vào form.
Để ý lên thanh đường dẫn: http://localhost/submit_form.php?hovaten=Beyonc%C3%A9+Knowles&matkhau=123&gioitinh=nu&namsinh=1989 .Như vậy một form sử dụng phương thức get thì các dữ liệu của chúng sẽ được gửi thông qua URL.

Phương thức POST

Để kiểm tra hoặc sử dụng các dữ liệu được gửi tới từ form bằng phương thức post, chúng ta dùng biến $_POST. Đây là một siêu biến toàn cục do PHP hỗ trợ. Các bạn tham khảo thêm tại đâyhttp://php.net/manual/en/reserved.variables.post.php
B6: Bây giờ chúng ta sẽ thay đổi giá trị của thuộc tính method trong thẻ form thành post trong file bai19.php
1
<form method="post" action="submit_form.php">
Các phần còn lại vẫn giữ nguyên.
B7: Mở file submit_form.php, thay đổi như sau
1
2
3
4
5
<?php
 
var_dump($_POST);
 
?>
B8: Mở lại trình duyệt với đường dẫn http://localhost/bai19.php, nhập dữ liệu cho form
1
B9: Nhấn nút gửi, và kết quả
1
Dữ liệu được gửi bằng phương thức post không khác gì so với phương thức get. Tuy nhiên chúng sẽ bị ẩn đi chứ không hiển thị trên thanh URL như khi dùng phương thức get.
Nếu muốn thực sự in ra một dữ liệu, các bạn làm như sau
1
echo $_POST["tên"];
hoặc
1
echo $_GET["tên"];
Ví dụ trong trường hợp trên, chúng ta muốn in ra trường Họ và tên
1
echo $_POST["hovaten"];
Trong đó hovaten chính là giá trị của thuộc tính name trong thẻ input khi nãy khai báo trong form.

{ 0 nhận xét... read them below or add one }

Đăng nhận xét