Làm cách nào để tạo hộp danh sách trong PHP?

Hướng dẫn này sẽ chỉ cho bạn cách thêm hộp chọn và hộp đa lựa chọn vào một biểu mẫu, cách truy xuất dữ liệu đầu vào từ chúng, cách xác thực dữ liệu và cách thực hiện các hành động khác nhau tùy thuộc vào đầu vào

Chọn hộp

Hãy xem xét một đầu vào mới. hộp “chọn”, còn được gọi là hộp “thả xuống” hoặc “kéo xuống”. Một hộp chọn chứa một hoặc nhiều “tùy chọn”. Mỗi tùy chọn có một “giá trị”, giống như các đầu vào khác và cũng là một chuỗi văn bản giữa các thẻ tùy chọn. Điều này có nghĩa là khi người dùng chọn “Male”, giá trị “formGender” khi PHP truy cập sẽ là “M”


<p>
What is your Gender?
<select name="formGender">
  <option value="">Select...option>
  <option value="M">Maleoption>
  <option value="F">Femaleoption>
select>
p>

Giá trị đã chọn từ đầu vào này có thể được đọc với mảng $_POST tiêu chuẩn giống như đầu vào văn bản và được xác thực để đảm bảo người dùng đã chọn Nam hoặc Nữ


php

if(isset($_POST['formSubmit']) )
{
  $varMovie = $_POST['formMovie'];
  $varName = $_POST['formName'];
  $varGender = $_POST['formGender'];
  $errorMessage = "";

  // - - - snip - - - 
}

?>

Luôn luôn là một ý tưởng hay khi có tùy chọn “trống” làm tùy chọn đầu tiên trong hộp chọn của bạn. Nó buộc người dùng phải lựa chọn có ý thức từ hộp và tránh tình huống người dùng có thể bỏ qua hộp mà không có ý định. Tất nhiên, điều này yêu cầu xác nhận


php

if(!isset($_POST['formGender'])) 
{
  $errorMessage .= "
  • You forgot to select your Gender!
  • "
    ;
    } ?>

    ( Để biết tập lệnh xác thực biểu mẫu chung, dễ sử dụng, hãy xem Tập lệnh xác thực biểu mẫu PHP )

    đa lựa chọn

    Giả sử bạn muốn hiển thị hộp chọn cho phép người dùng chọn nhiều tùy chọn

    Đây là cách tạo một đầu vào như vậy trong HTML

    
    <label for='formCountries[]'>Select the countries that you have visited:label><br>
    <select multiple="multiple" name="formCountries[]">
        <option value="US">United Statesoption>
        <option value="UK">United Kingdomoption>
        <option value="France">Franceoption>
        <option value="Mexico">Mexicooption>
        <option value="Russia">Russiaoption>
        <option value="Japan">Japanoption>
    select>
    

    Vui lòng lưu ý sự tương đồng với nhóm hộp kiểm. Trước tiên, hãy đặt multiple=“multiple” làm thuộc tính của hộp chọn. Thứ hai, đặt [ ] ở cuối tên. Cuối cùng, chúng tôi không thực sự cần một tùy chọn "trống" trong hộp chọn này, bởi vì chúng tôi có thể chỉ cần kiểm tra để đảm bảo rằng người dùng đã chọn thứ gì đó hay không. Để chọn nhiều giá trị, hãy sử dụng các nút shift hoặc ctrl khi nhấp vào

    Mã PHP để xử lý trường này rất giống với mã hộp kiểm. $_POST['formCountries'] trả về một mảng các giá trị đã chọn

    
    php
    
    if(isset($_POST['formSubmit'])) 
    {
      $aCountries = $_POST['formCountries'];
      
      if(!isset($aCountries)) 
      {
        echo("

    You didn't select any countries!

    \n");
    } else { $nCountries = count($aCountries); echo("

    You selected $nCountries countries: "); for($i=0; $i < $nCountries; $i++) { echo($aCountries[$i] . " "); } echo("

    "
    );
    } } ?>

    Như trước đây, hãy sử dụng “isset” để đảm bảo rằng một số giá trị đã được chọn

    Sử dụng công tắc

    Bây giờ, hãy thay đổi hộp chọn nhiều lần thành hộp chọn đơn tiêu chuẩn. Bây giờ chúng tôi muốn thực hiện các hành động khác nhau dựa trên lựa chọn của người dùng. Bạn có thể viết một loạt các câu lệnh "nếu", nhưng điều đó có thể trở nên lộn xộn. Hãy xem xét hai cách. các lệnh động và câu lệnh switch

    
    php
    
    if(isset($_POST['formSubmit'])) 
    {
      $varCountry = $_POST['formCountry'];
      $errorMessage = "";
      
      if(empty($varCountry)) 
      {
        $errorMessage = "
  • You forgot to select a country!
  • "
    ;
    } if($errorMessage != "") { echo("

    There was an error with your form:

    \n");
    echo("
      " . $errorMessage . "
    \n");
    } else { // note that both methods can't be demonstrated at the same time // comment out the method you don't want to demonstrate // method 1: switch $redir = "US.html"; switch($varCountry) { case "US": $redir = "US.html"; break; case "UK": $redir = "UK.html"; break; case "France": $redir = "France.html"; break; case "Mexico": $redir = "Mexico.html"; break; case "Russia": $redir = "Russia.html"; break; case "Japan": $redir = "Japan.html"; break; default: echo("Error!"); exit(); break; } echo " redirecting to: $redir "; // header("Location: $redir"); // end method 1 // method 2: dynamic redirect //header("Location: " . $varCountry . ".html"); // end method 2 exit(); } } ?>

    Hai cách tiếp cận này có ưu và nhược điểm của chúng. Phương thức chuyển đổi về cơ bản là một phương pháp ngắn gọn để viết một loạt các câu lệnh "nếu". Mỗi trường hợp khớp với biến được chuyển qua công tắc và thực hiện tất cả các hành động sau trường hợp đó cho đến khi có câu lệnh ngắt. Trong trường hợp này, mỗi trường hợp đang chuyển hướng đến trang tương ứng đến quốc gia đã chọn. Nếu không tìm thấy quốc gia đã chọn trong một trong các trường hợp, thì trường hợp “mặc định” được giả định và “Lỗi. " được hiển thị

    Phương pháp thứ hai chỉ là chuyển giá trị đã chọn cho chức năng tiêu đề để chuyển hướng đến đúng trang

    Phương pháp đầu tiên yêu cầu viết nhiều mã hơn, nhưng an toàn hơn vì nó đảm bảo biểu mẫu chỉ chuyển hướng đến 6 trường hợp được lập trình sẵn, nếu không sẽ hiển thị thông báo lỗi và kết thúc thực hiện

    Phương pháp thứ hai ngắn gọn hơn nhiều, nhưng kém an toàn hơn vì người dùng ác ý có thể sử dụng biểu mẫu và gửi bất kỳ giá trị nào anh ta muốn. Nếu sử dụng phương pháp 2, bạn nên xác thực quốc gia đã chọn trước để đảm bảo rằng quốc gia đó sẽ không dẫn đến chuyển hướng đến một trang độc hại

    Làm cách nào để sử dụng hộp danh sách trong PHP?

    Điều khiển hộp danh sách cung cấp danh sách các tùy chọn để người dùng lựa chọn . Nó có khả năng bao gồm các phần tử HTML khác, chẳng hạn như hình ảnh, hộp văn bản, hộp kiểm và nút radio. Nó cũng hỗ trợ liên kết dữ liệu, tùy chọn mẫu và tùy chọn nhiều lựa chọn.

    Làm cách nào để tạo hộp tổ hợp trong PHP?

    php $dataSource = new \Kendo\Data\DataSource();

    Có bao nhiêu loại hộp danh sách trong PHP?

    hai loại hộp danh sách. lựa chọn đơn (mặc định) và đa lựa chọn.

    Làm cách nào để lấy giá trị của hộp danh sách trong PHP?

    Nếu tùy chọn hộp danh sách được chọn, thuộc tính giá trị của tùy chọn đó được in bằng lệnh echo .