sử dụng chuỗi truy vấn trong URL để hiển thị nội dung trên trang


9

Tôi muốn nói điều gì đó trên trang của tôi dựa trên trang mà người đó đã đến đó. Tôi có thể thiết lập liên kết đến trang đó thành:

www.example.com/page?parameter=myparameter

Có cách nào để tôi có thể truy cập tham số đó để tôi có thể hiển thị trên trang, ở đâu đó trong nội dung của mình không?


Xin lỗi tôi hiểu rằng các câu trả lời là ví dụ, nhưng tôi thấy điều quan trọng cần lưu ý là chúng không nên được sử dụng nguyên trạng. Đầu vào của người dùng (như tham số chuỗi truy vấn) không bao giờ được lặp lại không được chỉnh sửa để ngăn chặn các cuộc tấn công XSS ! Tất cả các câu trả lời cho đến nay đều dễ bị tổn thương với XSS và ít nhất nên bao gồm một cảnh báo.
kubi

Câu trả lời:


4

Bạn có thể sử dụng phiên PHP, tìm trong đối tượng truy vấn cho yêu cầu hoặc sử dụng $ _GET với url của bạn, nhưng đó không phải là thông tin nhạy cảm ...

Một cái gì đó như thế này;

Lấy tên chuyến đi từ URL

$tripname = $_GET['tripname'];

Sử dụng nó trong tiêu đề của bạn;

if(isset($tripname)) echo '<h1>Plan Your Trip To ' .$tripname. '</h1>';


Cảm ơn! Đây không phải là thông tin nhạy cảm. Làm thế nào tôi sẽ đi về làm điều đó?
dùng3515

Điều này có thể giúp bạn ra ngoài: w3schools.com/php/php_get.asp
Dan

Cảm ơn! Tôi có thể đặt nó thẳng lên trang, hoặc nó cần phải đi vào một tệp mẫu?
dùng3515

Phụ thuộc vào nơi bạn cần - nếu nó chỉ hiển thị trên một trang chạy trên một mẫu, bạn sẽ đặt nó ở đó. Thông tin đến từ đâu và kết thúc ở đâu?
Dan

Câu chuyện là như thế này: Tôi có rất nhiều 'trang chuyến đi', mỗi trang đều có thông tin về một chuyến đi nhất định chúng tôi chạy. Sau đó, họ nhấp vào "đăng ký" và nó đưa họ đến một trang có biểu mẫu đăng ký (hình thức trọng lực). Tôi muốn trang này (hoặc nếu không là phần mô tả ở trên cùng của biểu mẫu) để nói "Điền vào biểu mẫu này để đăng ký chuyến đi xxxx".
dùng3515

4

Theo câu trả lời của OP trong câu hỏi của họ:

Với sự giúp đỡ của bạn và một số Google, tôi kết hợp một mã ngắn trả về giá trị của bất kỳ tham số url nào. Đây là:

//THIS IS A CUSTOM SHORTCODE TO DISPLAY A PARAMETER FROM THE URL
function URLParam( $atts ) {  
    extract( shortcode_atts( array(
        'param' => 'param',
    ), $atts ) );
    return $_GET[$param];  
}
add_shortcode('URLParam', 'URLParam'); 

Tôi sử dụng mã ngắn như thế này để lấy trip_typetừ URL của mình:

[URLParam param='trip_type']

Điều này đã giúp tôi, cảm ơn! Làm cách nào để nhận giá trị từ dữ liệu bài mẫu thay vì chuỗi truy vấn?
Amjad

1

Đây là một cách tuyệt vời khác để thực hiện điều này. Điều này sẽ không yêu cầu mã ngắn và sẽ tự động cập nhật từng trang bạn tạo khi có thông số "chuyến đi"!

1) Điều hướng đến thư mục chủ đề của bạn và mở chức năng.php (hoặc tạo nó nếu thiếu)

2) Thêm mã sau đây và lưu:

<?php 
    add_filter( 'the_content', 'my_trip_filter' );

    function my_trip_filter( $content ) {
        if ( isset($_REQUEST['trip']) && is_single() ) {
            $content = "<h1>Fill out this form to register for the " . $_REQUEST['trip'] . " trip</h1>" . $content;
        }

        return $content;

    }
?>

Mã này sử dụng bộ lọc_content để ghi đè mỗi khi bạn sử dụng hàm the_content () để in thông tin blog của bạn. Nó phát hiện xem trang được yêu cầu có phải là một trang / bài đăng hay không và không phải là kho lưu trữ. Logic bổ sung hoặc ghi đè có thể được thêm vào nó. Chỉ cần đảm bảo bạn trả lại nội dung $ và bất kỳ thông điệp nào bạn muốn sẽ được đưa trở lại màn hình.

Thưởng thức!

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.