Mam problemy z przekazaniem adresów URL jako parametr GET. Przy próbie dostępu:Jak przekazać URL w URL (jako parametr GET) używając PHP?
http://www.linkebuy.com.br/linkebuy/parceiro?url=http%3A%2F%2Fwww.google.com
pojawia się następujący komunikat:
Jednakże, jeśli pójdę do:
http://www.linkebuy.com.br/linkebuy/parceiro?url=123
wszystko działa dobrze (przekierowuje do nieistniejącej strony - 123 - oczywiście, ale oczekuje). Przez eliminację mogę powiedzieć, że jest coś nie tak z parametrem url
, ale co to jest?
OBS: Używam rawurlencode()
do kodowania adresu URL.
EDIT:Kod pytasz ...
W pierwszym widokiem, gdzie link jest (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>
Po kliknięciu link przekierowuje do działania (/linkebuy/parceiro
), gdzie dzieje się następujące (w zasadzie nic, tylko zachowanie w ramach):
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
}
Obejmuje ona pogląd, lead-parceiro.php
(powyżej na pytanie, odnośnik do tej strony), gdzie głowica zawiera:
<script type="text/javascript">
setInterval(function(){ window.location = '<?php echo $url ?>'; },3000);
</script>
Używaj prostego 'urlencode()' i powiedzieć nam, czy to czyni żadnej różnicy. –
Nie ma żadnej różnicy. – ramonztro
Problem tkwi w twojej funkcji przekierowania .... pokaż nam kod;) – Hackerman