Sto riscontrando qualche problema nel passare l'URL come parametro GET. Quando cerco di accesso:Come passare l'URL nell'URL (come parametro GET) usando PHP?
http://www.linkebuy.com.br/linkebuy/parceiro?url=http%3A%2F%2Fwww.google.com
ottengo il seguente messaggio:
Tuttavia, se vado per:
http://www.linkebuy.com.br/linkebuy/parceiro?url=123
Tutto funziona bene (reindirizza verso un sito inesistente - 123 -, ovviamente, ma lo fa). Con l'eliminazione posso dire che c'è qualcosa di sbagliato nel parametro url
, ma che cos'è?
OBS: Sto usando rawurlencode()
per codificare l'URL.
EDIT:Codice hai chiesto ...
Nella prima vista, in cui il collegamento è (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>
Quando si fa clic sul link reindirizza ad un'azione (/linkebuy/parceiro
), dove accade il seguente (in sostanza nulla, solo mantenendo nel quadro):
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
}
Esso include la vista, lead-parceiro.php
(sopra sulla questione, mi link a questa pagina), in cui la testa contiene:
<script type="text/javascript">
setInterval(function(){ window.location = '<?php echo $url ?>'; },3000);
</script>
Utilizzo semplice 'UrlEncode()' e dirci se questo fa alcuna differenza. –
Nessuna differenza. – ramonztro
Il problema è nella tua funzione di reindirizzamento .... mostraci il codice;) – Hackerman