sayfada içeriği görüntülemek için URL'de sorgu dizesini kullanma


9

Kişinin oradan aldığı sayfaya bağlı olarak sayfamda bir şey söylemek istiyorum. Bu sayfanın bağlantısını şu şekilde ayarlayabilirsiniz:

www.example.com/page?parameter=myparameter

Bu parametreye sayfada, içeriğimin bir yerinde gösterilebilmesi için erişebilmemin bir yolu var mı?


Maalesef cevapların örnek olduğunu anlıyorum, ancak oldukları gibi kullanılmaması gerektiğini belirtmek önemli. XSS saldırılarını önlemek için kullanıcı girişi (sorgu dizesi parametreleri gibi) asla onaylanmamış olarak yankılanmamalıdır ! Şimdiye kadar olan tüm cevaplar XSS'ye karşı savunmasızdır ve en azından bir uyarı içermelidir.
kubi

Yanıtlar:


4

Bir PHP oturumu kullanabilir, istek için sorgu nesnesine bakabilir veya URL'nizle $ _GET kullanabilirsiniz, ancak hassas bilgiler için değildir ...

Böyle bir şey;

URL'den gezi adını alın

$tripname = $_GET['tripname'];

Başlığında kullanın;

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


Teşekkürler! Bu hassas bir bilgi değil. Bunu nasıl yapabilirim?
user3515

Bu size yardımcı olabilir: w3schools.com/php/php_get.asp
Dan

Teşekkürler! Bunu doğrudan sayfaya koyabilir miyim yoksa bir şablon dosyasına girmesi mi gerekiyor?
user3515

İhtiyacınız olan yere bağlıdır - yalnızca bir şablonda çalışan bir sayfada gösteriliyorsa, oraya koyarsınız. Bilgiler nereden geliyor ve nereye ulaşacak?
Dan

Hikaye şöyledir: Her biri yaptığımız belirli bir seyahat hakkında bilgi sahibi olan birçok 'gezi sayfam' var. Daha sonra, "kayıt" ı tıklarlar ve kayıt formuyla (yerçekimi formları) bir sayfaya götürürler. Sayfanın (veya formun üst kısmındaki açıklamanın) "xxxx gezisine kaydolmak için bu formu doldurun" demesini istiyorum.
user3515

4

OP'nin kendi sorusu dahilindeki cevabı:

Yardımınız ve bazı Google'larınızla, herhangi bir url parametresinin değerini döndüren bir kısa kod oluşturdum. İşte burada:

//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'); 

trip_typeBenim URL almak için böyle kısa kodu kullanın :

[URLParam param='trip_type']

Bu bana yardımcı oldu, teşekkürler! Sorgu dizesi yerine form sonrası verilerinden nasıl değer alabilirim?
Amjad

1

İşte bunu başarmanın bir başka harika yolu. Bu kısa kod gerektirmez ve oluşturduğunuz her sayfayı "trip" parametresinin bulunduğu yerde otomatik olarak günceller!

1) Tema klasörünüze gidin ve function.php dosyasını açın (veya eksikse oluşturun)

2) Aşağıdaki kodu ekleyin ve kaydedin:

<?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;

    }
?>

Bu kod , blog bilgilerinizi yazdırmak için the_content () işlevini her kullandığınızda geçersiz kılmak için the_content filtresini kullanır . İstenen sayfanın arşiv değil, tek bir sayfa / gönderi olup olmadığını algılar. Ek mantık veya geçersiz kılmalar eklenebilir. Sadece $ içerik döndürdüğünüzden emin olun ve istediğiniz mesaj ekrana geri dönecektir . Zevk almak!

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.