Hướng dẫn select box php

Drop-down list (Thanh chọn xổ xuống) cho phép người dùng chọn một trong danh sách các tùy chọn.

Thường được sử dụng để lấy thông tin từ đối tượng có số lượng tùy chọn lớn như ngày, tháng, năm, sinh, danh mục…

Ví dụ 1: Hình thức thanh toán

  • Thanh toán tại nhà
  • Thanh toán qua Thẻ tín dụng

CẤU TRÚC HTML XÂY DỰNG DROP-DOWN LIST

<select name="pay">
    <option value="">--Chọn--</option>
    <option value="cod" selected="selected">Thanh toán tại nhà</option>
    <option value="banking">Thanh toán qua Thẻ tín dụng</option>
</select>

XÉT GIÁ TRỊ MẶC ĐỊNH CHO DROP-DOWN LIST

  • Xét mặc định cho lựa chọn được sử dụng thường xuyên
  • Sử dụng  thuộc tính selected trong phần html của drop-down list để thiết lập giá trị mặc định

Ví dụ: Xét mặc định thanh toán tại nhà

<select name="pay">
    <option value="">--Chọn--</option>
    <option value="cod" selected="selected">Thanh toán tại nhà</option>
    <option value="banking">Thanh toán qua Thẻ tín dụng</option>
</select>
  • Giá trị được nhận được của select là giá trị của option được lựa chọn
  • Nếu không thiết lập chọn thì giá trị nhận được là giá trị của option đầu tiên, giá trị của option này dùng làm tiêu chuẩn kiểm tra việc hoàn thành lựa chọn của người dùng
<?php
if($_SERVER['REQUEST_METHOD'] == "POST"){ 
    $gender = $_POST['pay'];
}
?>

CODE ĐẦY ĐỦ

<?php
if ($_SERVER['REQUEST_METHOD'] == "POST") {
    // Thiết lập mảng lưu lỗi => Mặc định rỗng
    $error = array();
    if (empty($_POST['pay'])) {
        $error['pay'] = "Bạn cần chọn hình thức thanh toán";
    } else {
        $pay = $_POST['pay'];
    }
    // Kiểm tra có lỗi hay không
    if (empty($error)) {
        echo $pay;
        // Xử lý dữ liệu khi không gặp lỗi nhập liệu
    }
}
?>
<html>
    <head>
        <meta charset="utf-8">
        <title>Nhận dữ liệu từ Drop-Down List | Hocweb123</title>
    </head>
    <body>
        <h2>Nhận dữ liệu từ Drop-Down List</h2>
        <form action="" method="POST">
            <label for="">Hình thức thanh toán</label><br/>
            <select name="pay">
                <option value="">--Chọn--</option>
                <option <?php if (isset($pay) && $pay == 'cod') echo "selected=\"selected\"";  ?> value="cod" >Thanh toán tại nhà</option>
                <option <?php if (isset($pay) && $pay == 'banking') echo "selected=\"selected\"";  ?> value="banking">Thanh toán qua Thẻ tín dụng</option>
            </select><br/><br/>
            <span style="color: red;"><?php if (isset($error['pay'])) echo $error['pay']; ?></span> <br/>
            <input type="submit" name="sm_order" value="Gửi thông tin">
        </form>
    </body>
</html

GHI NHỚ

  • Dropdown list cho phép người dùng chọn một trong một danh sách các tùy chọn
  • Nếu người dùng không chọn hoặc giá trị mặc định không được thiết lập thì dữ liệu được mặc định là giá trị của lựa chọn đầu tiên trong danh sách

Url Link

http://hocweb123.com/nhan-du-lieu-form-tu-drop-down-list-trong-php-select-.html

  • Trang chủ
  • Hướng dẫn học
  • Học PHP
  • PHP xử lý form

PHP xử lý form

  • 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"]; } ?>

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"]; } ?>

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"]; } ?>

Đố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"]; } ?>

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"]; } ?>

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"]; } ?>

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:

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ụ