Redirreción php

Iniciado por egiptoelcairo, 31 Mayo 2012, 23:30 PM

0 Miembros y 1 Visitante están viendo este tema.

egiptoelcairo

y por ejemplo si lo que quiero es si es direccionado desde esaweb que ejecute un scrip en vez de volver a redirrecionar como quedaria?

WarGhost

<?php
if ( isset( $_SERVER['HTTP_REFERER'] ) ) {
    
$refer strtolower$_SERVER['HTTP_REFERER'] );
       if(
strpos($refer"http://miweb.com/done?sessionid=")!==false){
         
// Aqui el script que tu quieras poner     
     
}
}
else {
   
header'Location: http://miweb.com/prueba2.php' ) ;        
}
?>
 
¿Qué culpa tengo yo de tener la sangre roja y el corazón a la izquierda?

egiptoelcairo


[u]nsigned

#13
Código (php) [Seleccionar]
<?php
if ( isset( $_SERVER['HTTP_REFERER']) && stripos($_SERVER['HTTP_REFERER'], "http://localhost/")!==false )
   
header'Location: http://miweb.com/prueba1.php' ) ;exit();
else 
   
header'Location: http://miweb.com/prueba2.php' ) ;exit();
?>


Y para usar un script en lugar de redirigir:

Código (php) [Seleccionar]
<?php
if ( isset( $_SERVER['HTTP_REFERER']) && stripos($_SERVER['HTTP_REFERER'], "http://localhost/")!==false ){
   
//Aca tu codigo PHP
}
else
   
header'Location: http://miweb.com/prueba2.php' ) ;exit();
?>


Mas eficiente. En lugar de usar if's anidados, los combino con 'AND' (comparacion logica). Y en lugar de parsear al HTTP_REFERER a minusculas, y luego llamar a strpos, directamente llamo a stripos que no es case-sensitive  ;).

Acabo de probarlo y funciona.

Y por ultimo, siempre luego de redireccionar con header, luego debemos llamar a la funcion exit() para evitar errores en la cabecera de la respuesta HTTP.

Saludos

No hay atajo ante la duda, el misterio se hace aquí...
Se hace carne en cada uno, el misterio es existir!