Ayuda con redireccionador de enlaces externos

  • Autor Autor luismt
  • Fecha de inicio Fecha de inicio
luismt

luismt

Delta
Verificación en dos pasos activada
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
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:
 
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.
 
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.
 
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.
 
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.
 
Sí luego tengo un rato te lo arreglo
Ahora estoy con el móvil
 
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.
 
Atrás
Arriba