Tôi đang gặp một số sự cố khi chuyển URL dưới dạng tham số GET. Khi tôi cố gắng truy cập:Làm cách nào để chuyển URL trong URL (như tham số GET) bằng cách sử dụng PHP?
http://www.linkebuy.com.br/linkebuy/parceiro?url=http%3A%2F%2Fwww.google.com
tôi nhận được thông báo sau:
Tuy nhiên, nếu tôi đi cho:
http://www.linkebuy.com.br/linkebuy/parceiro?url=123
Tất cả mọi thứ làm việc tốt (nó chuyển hướng đến một trang web không tồn tại - 123 -, tất nhiên, nhưng nó không mong đợi). Bằng cách loại bỏ tôi có thể nói có gì đó sai với tham số url
, nhưng nó là gì?
OBS: Tôi đang sử dụng rawurlencode()
để mã hóa URL.
EDIT:Mã bạn hỏi ...
Trong giao diện đầu tiên, nơi liên kết là (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>
Khi nhấp vào liên kết chuyển hướng đến một hành động (/linkebuy/parceiro
), nơi xảy ra sau (cơ bản là không có gì, chỉ cần giữ trong khuôn khổ):
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
}
Nó bao gồm các quan điểm, lead-parceiro.php
(ở trên về vấn đề, tôi liên kết đến trang này), nơi người đứng đầu bao gồm:
<script type="text/javascript">
setInterval(function(){ window.location = '<?php echo $url ?>'; },3000);
</script>
Sử dụng đơn giản 'urlencode() 'và cho chúng tôi biết nếu mà làm cho bất kỳ sự khác biệt. –
Không có sự khác biệt nào cả. – ramonztro
Sự cố trong hàm chuyển hướng của bạn .... hiển thị cho chúng tôi mã;) – Hackerman