Ver Mensaje Individual
  #9 (permalink)  
Antiguo 05/07/2006, 06:55
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
Cita:
Iniciado por Algadir
Hola Cluster:

Gracias por la explicación exhaustiva y por el ejemplo. No creo que tenga que explicar lo que quiero hacer porque es simplemente ejecutar un script en php que solo contenga código php para que haga algo y después desde ese mismo script volver a redirigir a la página en la que se estaba anteriormente (la que llamó a su vez al script). Igual hay otra forma de hacer eso pero es lo primero que se me ocurrió claro. Supongo que tendré que hacer uso de la variable de sistema que te permite saber el nombre del fichero que llamó al script. Ahora no recuerdo cual es pero la tengo apuntada.

Un saludo y muchas gracias de nuevo a todos por las explicaciones, probaré a ver que tal.
No sé si habrás encontrado ya la variable que necesitas .. pero se trata de otra variable que vía el array $_SERVER .. PHP "obtiene" al "preguntar" al servidor HTTP .. este es entregada por el "cliente" (navegador) y a su vez es parte del protocolo HTTP. Se trata de "HTTP_REFERER".

Código PHP:
header("Location: ".$_SERVER['HTTP_REFERER']);
exit; 
¿Por qué me lio tanto que si PHP pregunta al servidor HTTP .. que si es parte del protocolo HTTP .. y blablabla.. ? Pues por la sencilla razón de que cuando "hay" problemas o tal "variable" no se comporta como uno espera .. ha quien hay que hecharle la culpa en estos casos no es tanto a tu código PHP sino a la definición de esa variable dentro del protocolo HTTP por ejemplo ...

Un "detallito" de dicha varaible es que NO todo los navegadores informan de esa variable al servidor HTTP que lo pide. De hecho esa información de "donde vengo URL" no se entrega si abres ventanas por ejemplo (con javascript) .. o en uso de frames .. Ojo con esos "detalles" ..

En lo personal para estos casos no uso dicha variable .. sino que "propago" en una variable a ese script el URL donde "estoy" para poder usarlo en la redirección .. es decir:

script1.php (donde estoy) ----> al script2.php (donde voy para confirmar, hacer un preview .. etc), tomo el URL donde estoy (al menos nombre script y ruta) .. lo obtengo con:

$_SERVER['PHP_SELF']

Lo almaceno en una variable y lo propago en el LINK o campo oculto de un formulario según pase de script1.php al script2.php ..

por ejemplo:

Código PHP:
<a href="script2.php?url_vuelta=<? echo $_SERVER['PHP_SELF'?>">ir a script2.php</a>
Y en script2.php .. al terminar el proceso y redireccionar uso esa variable "url_vuelta":

Código PHP:
header ("Location: ".$_GET['url_vuelta']);
exit; 
Así evito problemas con "navegadores" que no me quieran "informar" del URL de donde vienen .. o si uso ventanas o frames por médio ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.