मुझे यूआरएल को जीईटी पैरामीटर के रूप में पास करने में कुछ समस्याएं आ रही हैं। मैं का उपयोग करने का प्रयास करते हैं:PHP का उपयोग कर यूआरएल (जीईटी पैरामीटर के रूप में) में यूआरएल कैसे पास करें?
http://www.linkebuy.com.br/linkebuy/parceiro?url=http%3A%2F%2Fwww.google.com
मैं निम्न संदेश मिलता है:
हालांकि, अगर मैं के लिए जाना:
http://www.linkebuy.com.br/linkebuy/parceiro?url=123
सब कुछ बस ठीक काम करता है (यह एक अनौपचारिक साइट पर रीडायरेक्ट करता है - 123 - ज़ाहिर है, लेकिन यह अपेक्षित है)। उन्मूलन से मैं कह सकता हूं कि url
पैरामीटर के साथ कुछ गड़बड़ है, लेकिन यह क्या है?
ओबीएस: मैं URL को एन्कोड करने के लिए rawurlencode()
का उपयोग कर रहा हूं।
संपादित करें:कोड के लिए कहा ...
पहला दृश्य है, जहां कड़ी है में (http://www.linkebuy.com.br/notebook/detalhe?id=5):
<!-- url() function just completes the right URL (production or development) -->
<a href="<?php echo url('linkebuy/parceiro/?url=' . rawurlencode($l->getUrl()), true) ?>" class="<?php echo $leadClass ?> oferta" target="_blank">
<?php echo $l->getNomeFantasia() ?>
</a>
क्लिक किए जाने पर कड़ी एक कार्रवाई पर रीडायरेक्ट (/linkebuy/parceiro
), जहां निम्नलिखित होता है (मूल रूप से कुछ नहीं, केवल ढांचे में रखते हुए):
public function execute($request, $response) {
$response->addParameter('url', rawurldecode($request->getParameter('url', ''))); //This creates $url in the view
$response->setTemplate('site/linkebuy/lead-parceiro.php'); //Forwards to the view
}
यह देखने के लिए, lead-parceiro.php
(सवाल पर ऊपर, मैं इस पृष्ठ से लिंक), जहां सिर में शामिल है में शामिल हैं:
<script type="text/javascript">
setInterval(function(){ window.location = '<?php echo $url ?>'; },3000);
</script>
उपयोग सरल 'urlencode()' और हमें बताया है कि यदि कोई फर्क नहीं पड़ता। –
बिल्कुल कोई फर्क नहीं पड़ता। – ramonztro
समस्या आपके रीडायरेक्ट फ़ंक्शन में है .... हमें कोड दिखाएं;) – Hackerman