18/08/2018, 11:27

PHP xử lý form

Định nghĩa và cách dùng Các giá trị thành phần của form được thu thập thông qua phương thức _GET và _POST. Các giá trị thành phần của form được xử lý dựa theo thuộc tính name của từng thành phần tương ứng và thông qua thuộc tính method của form để xác định phương thức truyền dữ liệu. ...

Định nghĩa và cách dùng

  • Các giá trị thành phần của form được thu thập thông qua phương thức _GET và _POST.
  • Các giá trị thành phần của form được xử lý dựa theo thuộc tính name của từng thành phần tương ứng và thông qua thuộc tính method của form để xác định phương thức truyền dữ liệu.
  • Các thành phần thường dùng của form:

    • PHP input type="text"
    • PHP input type="password"
    • PHP input type="checkbox"
    • PHP input type="radio"
    • PHP select option
    • PHP textarea
    • PHP form tổng hợp

- Trong tất cả ví dụ bên dưới sẽ dùng phương thức _POST với action ở trang hiện tại: <form action="" method="post"> (action không giá trị sẽ mặc định submit xử lý ở trang hiện tại, hoặc có thể thay thế bằng action="php_form_handing.php" cũng cho kết quả tương tự).

Nút submit sẽ dùng <button type="submit"> (chúng ta cũng có thể dùng <input type="submit"> cũng cho kết quả tương tự).

PHP input type="text"

  • Định nghĩa và cách dùng input xem thêm phần tham khảo.
  • method="get" là gì? nếu chưa rõ thì bạn cần xem lại _POST.
  • if(isset($_POST["giá_trị_name"])) kiểm tra xem $_POST["giá_trị_name"] có tồn tại hay không, nếu không có đoạn kiểm tra này thì khi submit sẽ báo lỗi.

PHP viết:

<form action="" method="post">
    Họ tên: <input type="text" name="fullname" value="">
    <button type="submit">Gửi</button>
</form>
<?php if(isset($_POST["fullname"])) { echo $_POST["fullname"]; } ?>
Họ tên: Gửi

Xem ví dụ.

PHP input type="password"

  • Cách xử lý tương tự như input type="text"

PHP viết:

<form action="" method="post">
    Password: <input type="password" name="password" value="">
    <button type="submit">Gửi</button>
</form>
<?php if(isset($_POST["password"])) { echo $_POST["password"]; } ?>
Password: Gửi

Xem ví dụ.

PHP input type="checkbox"

  • Cách xử lý tương tự như input type="text"

PHP viết:

<form action="" method="post">
    Đăng ký học:<br>
    HTML <input type="checkbox" name="check_html" value="HTML">, CSS <input type="checkbox" name="check_css" value="CSS"><br>
    <button type="submit">Gửi</button>
</form>
<?php if(isset($_POST["check_html"])) { echo $_POST["check_html"]; } ?>
<?php if(isset($_POST["check_css"])) { echo $_POST["check_css"]; } ?>
Đăng ký học:
HTML , CSS
Gửi

Đối với mỗi giá trị checkbox ta sẽ kiểm tra sự tồn tại riêng.

Xem ví dụ.

PHP input type="radio"

  • Cách xử lý tương tự như input type="text", tuy nhiên cần chú ý cách đặt tên thuộc tính namevalue.

PHP viết:

<form action="" method="post">
    Giới tính:<br>
    Nam <input type="radio" name="gender" value="Nam">, Nữ <input type="radio" name="gender" value="Nữ"><br>
    <button type="submit">Gửi</button>
</form>
<?php if(isset($_POST["gender"])) { echo $_POST["gender"]; } ?>
Giới tính:
Nam , Nữ
Gửi

Xem ví dụ.

PHP select option

  • Định nghĩa và cách dùng select option xem thêm phần tham khảo.
  • Cũng xử lý dựa theo thuộc tính name, giá trị được lấy chính là nội dung của option được chọn.

PHP viết:

<form action="" method="post">
    Thành phố: <br>
    <select name="city">
        <option value="Hà Nội">Hà Nội</option>
        <option value="Hồ Chí Minh">Hồ Chí Minh</option>
        <option value="Đà Nẵng">Đà Nẵng</option>
        <option value="Cần Thơ">Cần Thơ</option>
    </select>
    <button type="submit">Gửi</button>
</form>
<?php if(isset($_POST["city"])) { echo $_POST["city"]; } ?>
Thành phố:
Hà Nội Hồ Chí Minh Đà Nẵng Cần Thơ Gửi

Xem ví dụ.

PHP textarea

  • Định nghĩa và cách dùng textarea xem thêm phần tham khảo.
  • Cũng xử lý dựa theo thuộc tính name, giá trị được lấy chính là nội dung textarea.

PHP viết:

<form action="" method="post">
    Tin nhắn<br>
    <textarea cols="30" rows="7" name="message"></textarea><br>
    <button type="submit">Gửi</button>
</form>
<?php if(isset($_POST["message"])) { echo $_POST["message"]; } ?>
Tin nhắn

Gửi

Xem ví dụ.

PHP form tổng hợp

PHP viết:

<form action="" method="post">
    <p>Họ tên: <input type="text" name="fullname" value=""></p>
    <p>Password: <input type="password" name="password" value=""></p>
    <p>Đăng ký học: HTML <input type="checkbox" name="check_html" value="HTML">, CSS <input type="checkbox" name="check_css" value="CSS"></p>
    <p>Giới tính: Nam <input type="radio" name="gender" value="Nam">, Nữ <input type="radio" name="gender" value="Nữ"></p>
    <p>Thành phố: <select name="city">
        <option value="Hà Nội">Hà Nội</option>
        <option value="Hồ Chí Minh">Hồ Chí Minh</option>
        <option value="Đà Nẵng">Đà Nẵng</option>
        <option value="Cần Thơ">Cần Thơ</option>
    </select></p>
    <p>Tin nhắn:<br>
    <textarea cols="30" rows="7" name="message"></textarea></p>
    <button type="submit">Gửi</button>
</form>

<p>Họ tên: <?php if(isset($_POST["fullname"])) { echo $_POST["fullname"]; } ?></p>
<p>Password: <?php if(isset($_POST["password"])) { echo $_POST["password"]; } ?></p>
<p>Đăng ký học: <?php if(isset($_POST["check_html"])) { echo $_POST["check_html"]; } ?> <?php if(isset($_POST["check_css"])) { echo $_POST["check_css"]; } ?></p>
<p>Giới tính: <?php if(isset($_POST["gender"])) { echo $_POST["gender"]; } ?></p>
<p>Thành phố: <?php if(isset($_POST["city"])) { echo $_POST["city"]; } ?></p>
<p>Tin nhắn: <?php if(isset($_POST["message"])) { echo $_POST["message"]; } ?></p>

Họ tên:

Password:

Đăng ký học: HTML , CSS

Giới tính: Nam , Nữ

Thành phố: Hà Nội Hồ Chí Minh Đà Nẵng Cần Thơ

Tin nhắn:

Gửi

Họ tên:

Password:

Đăng ký học:

Giới tính:

Thành phố:

Tin nhắn:

Xem ví dụ.

Bên trên là cách xử lý dựa trên hàm isset() để kiểm tra các giá trị $_POST có tồn tại hay không, tuy nhiên trong thực tế chúng ta sẽ sử dụng hàm empty() để kiểm tra xem các giá trị $_POST có rỗng hay không, nếu rỗng thì xuất hiện thông báo lỗi, còn không thì cho qua, xem thêm tại: PHP form validation.

Download file ví dụ

0