Ayuda con redireccionador de enlaces externos

luismt Seguir

Delta
Verificación en dos pasos activada
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
1 Abr 2009
Mensajes
639
Buenas gente, les ruego ayuda con un redireccionador de enlaces externos que encontré aquí. En general funciona bien, pero me topé con dos errores:

Cuando redirecciona a un enlace directo no se detiene. Continúa dando la opción de descargar el archivo hasta que cierro la página. Ej:
Insertar CODE, HTML o PHP:
http://misitio.com/test.php?url=http://ejemplo.com/08/archivo.zip

Otro problema es cuando existen enlaces a mega.co.nz, al parecer no acepta catacteres especiales. Ej:
Insertar CODE, HTML o PHP:
http://misitio.com/test.php?url=https://mega.co.nz/#!PEdQDY4l!ABGZ-AB1nt9pJ...

Este es el código:
PHP:
<?php
$url = $_GET['url'];
$sql = " WHERE url='".$url."'";
?>
<html>
<head>
<title>Redireccionador.</title>
<meta http-equiv="refresh" content="10;url=<?=$url?>" />
</head>
<body>
<header><h1>Redireccionador</h1></header>
<strong>Se te redirigira a <?=$url?> en <span id="seconds">10</span></strong>
<script>
var seconds = 10;
setInterval(
function(){
if (seconds <= 1) {
window.location = '<?=$url?>';
}
else {
document.getElementById('seconds').innerHTML = --seconds;
}
},
1000
);
</script>
</body>
</html>

Desde ya muchas gracias por la ayuda! :)

- - - Actualizado - - -

Alguien que me pueda ayudar please. :ambivalence:
 

delmo

Gamma
Verificado por Whatsapp
Desde
8 Ene 2013
Mensajes
469
Cuando redirecciona a un enlace directo no se detiene. Continúa dando la opción de descargar el archivo hasta que cierro la página.
El problema lo tienes porque cuando abres un archivo tu ventana no desaparece y el bucle sigue funcionando
Cambia esto:
Insertar CODE, HTML o PHP:
seconds <= 1
por esto:
Insertar CODE, HTML o PHP:
seconds == 1

Otro problema es cuando existen enlaces a mega.co.nz, al parecer no acepta catacteres especiales.
Para evitar esto debes enviar el identificador codificado, utilizando url encode por ejemplo, y decodificarlo al recibirlo.
 

luismt

Delta
Verificación en dos pasos activada
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
1 Abr 2009
Mensajes
639
El problema lo tienes porque cuando abres un archivo tu ventana no desaparece y el bucle sigue funcionando
Cambia esto:
Insertar CODE, HTML o PHP:
seconds <= 1
por esto:
Insertar CODE, HTML o PHP:
seconds == 1
Gracias delmo, pero me sigue ocurriendo.

Para evitar esto debes enviar el identificador codificado, utilizando url encode por ejemplo, y decodificarlo al recibirlo.
Ahi me mataste, pero voy a intentarlo.
 

delmo

Gamma
Verificado por Whatsapp
Desde
8 Ene 2013
Mensajes
469
Disculpa, añadele tambien esto seconds--; despues del window.location
Insertar CODE, HTML o PHP:
window.location = '<?=$url?>';
seconds--;
y elimina el meta-refresh que se me habia pasado.

- - - Actualizado - - -

Este es el codigo completo:
PHP:
<html>
<head>
<title>Redireccionador.</title>
</head>
<body>
<header><h1>Redireccionador</h1></header>
<strong>Se te redirigira a <?=$url?> en <span id="seconds">10</span></strong>
<script>
var seconds = 10;
setInterval(
function(){
if (seconds == 1) {
window.location = '<?=$url?>';
seconds--;
}
else {
document.getElementById('seconds').innerHTML = --seconds;
}
},
1000
);
</script>
</body>
</html>

Espero que te sirva esta vez.
 

luismt

Delta
Verificación en dos pasos activada
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
1 Abr 2009
Mensajes
639
Muchas gracias delmo! Ahora si se corrigió el problema.

Lo unico extraño es que el contador comienza a retroceder: -1, -2, -3, -4, etc. Hasta bien no se cierra la ventana.
 

luismt

Delta
Verificación en dos pasos activada
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
1 Abr 2009
Mensajes
639
Sí luego tengo un rato te lo arreglo
Ahora estoy con el móvil
No hay problema delmo, muchas gracias por la ayuda. Voy a solicitar un programador en la zona de negocios para solucionarlo lo antes posible, ya que lo tengo en funcionamiento.
Ademas que el problema con mega no se hacerlo.
 
Arriba