⊗ppPmRdSWP 407 of 447 menu

Tự động chuyển hướng với việc thêm tham số trong PHP

Giả sử trên trang index.php được truyền tham số GET với tên arg. Hãy hiển thị nội dung của nó ra màn hình:

<?php echo $_GET['arg']; ?>

Giả sử trang của chúng ta không thể hoạt động chính xác nếu không có tham số GET. Trong trường hợp của chúng ta, điều này thực sự đúng, vì nếu tham số không được truyền, thì việc truy cập vào $_GET['arg'] sẽ dẫn đến lỗi.

Có thể phát sinh câu hỏi, tại sao nói chung người dùng sẽ vào trang của chúng ta mà không có tham số? Bởi vì chúng ta có thể đặt các liên kết với tham số này ở mọi nơi trên trang web của mình. Tuy nhiên, điều này không đảm bảo: người dùng trang web của chúng ta có thể, ví dụ, sao chép liên kết từ đâu đó và làm mất tham số trong quá trình đó. Hoặc đơn giản là xóa nó một cách tình cờ khi chỉnh sửa thanh địa chỉ.

Nói chung, trong mọi trường hợp, mã của chúng ta nên dự đoán tình huống như vậy và làm điều gì đó với nó. Vậy có thể làm gì?

Có thể kiểm tra sự tồn tại của tham số GET của chúng ta và chỉ hiển thị nó nếu nó tồn tại:

<?php if (isset($_GET['arg'])) { echo $_GET['arg']; } else { // phản ứng bằng cách nào đó, ví dụ, thông báo } ?>

Có thể xử lý khéo léo hơn:

<?php if (!isset($_GET['arg'])) { $_GET['arg'] = 'default'; // giá trị mặc định } echo $_GET['arg']; // đảm bảo sẽ hiển thị thứ gì đó mà không lỗi ?>

Hoặc có thể làm sao để khi truy cập vào trang không có tham số sẽ xảy ra chuyển hướng đến chính trang đó nhưng với tham số:

<?php if (!isset($_GET['arg'])) { header('Location: ?arg=default'); } echo $_GET['arg']; // tham số được đảm bảo là có ?>

Hãy giải thích sự khác biệt giữa phương án thứ hai và phương án thứ ba.

Giả sử trên trang page.php có thể truyền một số thông qua tham số GET với tên num. Hãy thực hiện sao cho khi truy cập không có tham số này, sẽ tự động thực hiện chuyển hướng đến chính trang đó, nhưng với tham số num có giá trị 1.

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