पृष्ठ पर सामग्री प्रदर्शित करने के लिए URL में क्वेरी स्ट्रिंग का उपयोग करें


9

मैं अपने पृष्ठ पर कुछ कहना चाहता हूँ कि वह व्यक्ति किस पृष्ठ से वहाँ गया है। मैं उस पेज का लिंक सेट कर सकता हूं:

www.example.com/page?parameter=myparameter

क्या कोई ऐसा तरीका है जिससे मैं उस पैरामीटर को एक्सेस कर सकूं ताकि मुझे पृष्ठ पर, मेरी सामग्री में कहीं और दिखा सकें?


क्षमा करें, मैं समझता हूं कि उत्तर उदाहरण हैं, लेकिन मुझे यह नोट करना महत्वपूर्ण है कि इन्हें उपयोग नहीं किया जाना चाहिए। उपयोगकर्ता इनपुट (क्वेरी स्ट्रिंग पैरामीटर की तरह) को XSS हमलों को रोकने के लिए कभी भी अनधिकृत रूप से प्रतिध्वनित नहीं किया जाना चाहिए ! अब तक के सभी उत्तर एक्सएसएस के लिए कमजोर हैं और कम से कम एक चेतावनी शामिल होनी चाहिए।
कुबि

जवाबों:


4

आप एक PHP सत्र का उपयोग कर सकते हैं, अनुरोध के लिए क्वेरी ऑब्जेक्ट में देख सकते हैं, या अपने यूआरएल के साथ $ _GET का उपयोग कर सकते हैं, लेकिन यह संवेदनशील जानकारी के लिए नहीं है ...

कुछ इस तरह;

URL से यात्रा नाम पकड़ो

$tripname = $_GET['tripname'];

इसे अपने शीर्षक में उपयोग करें;

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


धन्यवाद! यह संवेदनशील जानकारी नहीं है। मुझसे यह कैसे होगा?
user3515

इससे आपको मदद मिल सकती है: w3schools.com/php/php_get.asp
Dan

धन्यवाद! क्या मैं इसे सीधे पृष्ठ पर रख सकता हूं, या क्या इसे किसी टेम्पलेट फ़ाइल में जाने की आवश्यकता है?
user3515

निर्भर करता है कि आपको इसकी आवश्यकता कहां है - यदि यह केवल एक टेम्पलेट पर चलने वाले पृष्ठ पर दिखाई दे रहा है, तो आप इसे वहां डाल देंगे। जानकारी कहां से आ रही है, और यह कहां तक ​​समाप्त होगी?
Dan

कहानी इस तरह है: मेरे पास बहुत सारे 'ट्रिप पेज' हैं, जिनमें से प्रत्येक में एक निश्चित यात्रा के बारे में जानकारी है जो हम चलाते हैं। फिर, वे "रजिस्टर" पर क्लिक करते हैं, और यह उन्हें पंजीकरण फॉर्म (गुरुत्वाकर्षण रूपों) के साथ एक पृष्ठ पर ले जाता है। मैं पेज (या फ़ॉर्म के शीर्ष पर मौजूद विवरण) को यह कहने के लिए चाहूंगा कि "इस फ़ॉर्म को xxxx यात्रा के लिए पंजीकरण करने के लिए भरें"।
user3515

4

उनके प्रश्न के भीतर ओपी के उत्तर के अनुसार:

आपकी मदद और कुछ Googling के साथ, मैंने एक शोर्ट-कोड रखा जो किसी भी url पैरामीटर का मान लौटाता है। यह रहा:

//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_typeअपने URL से प्राप्त करने के लिए शोर्टकोड का उपयोग करता हूं:

[URLParam param='trip_type']

इसने मेरी मदद की, धन्यवाद! मुझे क्वेरी स्ट्रिंग के बजाय फॉर्म पोस्ट डेटा से मूल्य कैसे मिलते हैं?
अमजद

1

इसे पूरा करने का एक और शानदार तरीका यहां दिया गया है। इसके लिए शॉर्टकोड की आवश्यकता नहीं होगी और आपके द्वारा बनाए गए प्रत्येक पृष्ठ को स्वचालित रूप से अपडेट किया जाएगा जहां पैरामीटर "ट्रिप" मौजूद है!

1) अपने थीम फ़ोल्डर में नेविगेट करें और फ़ंक्शंस खोलें। (या यदि यह गायब है तो इसे बनाएं)

2) निम्नलिखित कोड जोड़ें और सहेजें:

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

    }
?>

जब आप अपने ब्लॉग की जानकारी को प्रिंट करने के लिए फ़ंक्शन_कंटेंट () फ़ंक्शन का उपयोग करते हैं, तो यह कोड प्रत्येक बार ओवरराइड करने के लिए the_content फ़िल्टर का उपयोग करता है । यह पता लगाता है कि अनुरोधित पृष्ठ एकल पृष्ठ / पोस्ट है या नहीं। अतिरिक्त तर्क या ओवरराइड को इसमें जोड़ा जा सकता है। बस यह सुनिश्चित करें कि आप $ सामग्री वापस कर दें और जो भी संदेश आप चाहते हैं वह स्क्रीन पर वापस आ जाएगा। का आनंद लें!

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.