⊗ppPmFmOFH 299 of 447 menu

Xử lý biểu mẫu trong một tệp PHP

Trong bài học trước, biểu mẫu của chúng ta được đặt trên một trang và được gửi đến một trang khác. Trên thực tế, điều này không bắt buộc. Nếu để trống thuộc tính action hoặc bỏ nó đi hoàn toàn, thì biểu mẫu sẽ được gửi đến chính trang này.

Cách thức hoạt động: khi truy cập lần đầu tiên vào trang, chúng ta sẽ điền dữ liệu vào biểu mẫu và nhấn vào nút. Sau đó, trang sẽ được làm mới và mã của nó sẽ được thực thi lại, nhưng lần này đã có dữ liệu từ biểu mẫu.

Hãy xem xét ví dụ. Giả sử chúng ta có một biểu mẫu và phần xử lý của nó trong một tệp:

<form action="" method="GET"> <input name="test1"> <input name="test2"> <input type="submit"> </form> <?php var_dump($_GET); ?>

Khi truy cập lần đầu tiên vào trang, hàm var_dump sẽ hiển thị một mảng rỗng. Còn sau khi gửi biểu mẫu, nó sẽ hiển thị dữ liệu của biểu mẫu. Tức là lần đầu tiên $_GET sẽ rỗng, và lần thứ hai - sẽ chứa dữ liệu từ biểu mẫu.

Điều này có thể dẫn đến vấn đề. Ví dụ, giả sử chúng ta nhập các số vào biểu mẫu và muốn hiển thị tổng của các số này ra màn hình:

<form action="" method="GET"> <input name="test1"> <input name="test2"> <input type="submit"> </form> <?php echo $_GET['test1'] + $_GET['test2']; ?>

Trong trường hợp này, khi truy cập lần đầu tiên vào trang, chúng ta sẽ thấy các lỗi PHP, liên quan đến việc mảng $_GET rỗng, trong khi chúng ta đang truy cập vào các phần tử của nó.

Cần nói thêm rằng, có thể bạn sẽ không thấy lỗi hiện ra trong trình duyệt. Trong trường hợp đó, hãy kiểm tra xem bạn đã bật hiển thị lỗi PHP chưa, đồng thời đảm bảo rằng đó là lần đầu tiên bạn truy cập trang và trong thanh địa chỉ không có dữ liệu từ biểu mẫu.

Hãy sửa vấn đề này. Để làm vậy, chúng ta thêm một điều kiện, trong đó sẽ kiểm tra xem biểu mẫu đã được gửi hay chưa.

Ví dụ, có thể kiểm tra $_GET xem có rỗng không. Nếu $_GET không rỗng - thì biểu mẫu đã được gửi và có thể thực hiện phép cộng. Ngược lại thì đó vẫn là lần truy cập đầu tiên vào trang và phép cộng sẽ không được thực hiện. Vậy, đây là mã đã được sửa:

<form action="" method="GET"> <input name="test1"> <input name="test2"> <input type="submit"> </form> <?php if (!empty($_GET)) { echo $_GET['test1'] + $_GET['test2']; } ?>

Hãy hỏi người dùng họ, tên và tên đệm. Sau khi gửi biểu mẫu, hãy hiển thị các dữ liệu đã nhập ra màn hình.

Tiếng Việt
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbek
Chúng tôi sử dụng cookie để vận hành trang web, phân tích và cá nhân hóa. Việc xử lý dữ liệu được thực hiện tuân theo Chính sách bảo mật.
chấp nhận tất cả tùy chỉnh từ chối