Foros del Web » Programando para Internet » PHP »

redireccionar en php dependiendo desde que pagina se provenga

Estas en el tema de redireccionar en php dependiendo desde que pagina se provenga en el foro de PHP en Foros del Web. Buenas... lo que necesito es que si tengo 3 paginas.. por ejemplo: cargar.php editar.php procesar.php Lo que quisiera es que en procesar.php reciba parametros de ...
  #1 (permalink)  
Antiguo 18/01/2012, 06:24
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
redireccionar en php dependiendo desde que pagina se provenga

Buenas... lo que necesito es que si tengo 3 paginas.. por ejemplo:

cargar.php

editar.php

procesar.php

Lo que quisiera es que en procesar.php reciba parametros de ambas paginas.. pero si vengo de cargar.php redireccione a cargar.php nuevamente.. pero si proviene de editar.php vaya a editar.php de vuelta..

intente algo, pero no me esta funcionando..


Código PHP:


<?php  
session_start
();
$page_referer basename($_SERVER['HTTP_REFERER']);
$dirname basename(dirname($_SERVER['HTTP_REFERER'])); 

//..esta parte va el codigo de proceso

if($page_referer == "editar.php") {
    
header("Location: editar.php?".$id);
    
}else{
    
header("Location: cargar.php?".$id);
}
?>
agradezco toda ayuda
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #2 (permalink)  
Antiguo 18/01/2012, 06:54
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 3 meses
Puntos: 288
Respuesta: redireccionar en php dependiendo desde que pagina se provenga

por que no vas pasando una variable section para tener control de donde es que uno viene,
HTTP_REFERER por lo que lei trae problemas y en IE no funciona bien.
ademas dependes de que si o si vengas desde otra pagina, sino da error
  #3 (permalink)  
Antiguo 18/01/2012, 06:58
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 19 años
Puntos: 394
Respuesta: redireccionar en php dependiendo desde que pagina se provenga

Lo mas normal es que se utilicen flags (banderas) para saber de donde se proviene y cual es el proceso a realizar. Esto lo puedes realizar con parametros URL, te mostrare un ejemplo:

cargar.php?action=load

editar.php?action=edit

Y en procesar.php obtienes el dato haces el trabajo y redireccionas a la pagina que la accion ordeno:

procesar.php

Código PHP:
Ver original
  1. <?php
  2. if(isset($_GET['action'])){
  3. $accion = $_GET['action'];
  4. }else{
  5. $action = NULL;
  6. }
  7. switch($accion){
  8. case 'load':
  9. // procesando datos
  10. header('Location: cargar.php');
  11. break;
  12. case 'edit':
  13. // procesando datos
  14. header('Location: editar.php');
  15. break;
  16. default:
  17. header('Location: index.php');
  18. break;
  19. }
  20. ?>

Espero esto te de una ayuda...
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #4 (permalink)  
Antiguo 18/01/2012, 07:04
 
Fecha de Ingreso: mayo-2010
Mensajes: 66
Antigüedad: 14 años
Puntos: 2
Respuesta: redireccionar en php dependiendo desde que pagina se provenga

Yo crearía en cada página una variable de sesión así....

en cargar.php
$_SESSION['pagina'] = "cargar.php";
en editar.php
$_SESSION['pagina'] = "editar.php";

y después en procesar.php

Código PHP:
if($_SESSION['pagina'] == "editar.php")
    
header("Location: editar.php?".$id);
elseif (
$_SESSION['pagina'] == "cargar.php"
    
header("Location: cargar.php?".$id);
else
    echo 
"El acceso es incorrecto"
  #5 (permalink)  
Antiguo 18/01/2012, 07:38
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: redireccionar en php dependiendo desde que pagina se provenga

cambialo por SCRIPt_FILENAME O SCRIPT_NAME

<?php
session_start();
$page_referer = basename($_SERVER['SCRIPT_FILENAME']);
$dirname = basename(dirname($_SERVER[SCRIPT_FILENAME']));

//..esta parte va el codigo de proceso

if($page_referer == "editar.php") {
header("Location: editar.php?".$id);

}else{
header("Location: cargar.php?".$id);
}
?>

deben de ser autenticamente iguales el nombre de la variable server con el if por eso comprueba antes con un echo los valores de cada funcion de server ya sea httreferer o script_filename o script_name

az un echo y con esos valores haces el if

echo $_SERVER['HTTP_REFERER'];

echo $_SERVER['SCRIPT_FILENAME'];

echo $_SERVER['SCRIPT_NAME'];


AUNQUE APOYO MAS USAR SESSIONES COMO YA TE AN DIXO

Última edición por webankenovi; 18/01/2012 a las 07:48
  #6 (permalink)  
Antiguo 18/01/2012, 13:18
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: redireccionar en php dependiendo desde que pagina se provenga

Hice un ECHO de lo que venia con la variable $page_referer.. y me salia la direccion de URL algo como "editar.php?" debido a que usaba un Session ID o sea un SID.. lo que hice para que funcione fue poner en la condicion algo como:

Código PHP:
if($page_referer == "editar.php?"
la unica diferencia con el codigo que postee mas arriba es que le coloque el "?" en la condicion y funciono.. pero si llega a tener mas problemas, gracias a ustedes tendre mas opciones para reparar y mejorar el rendimiento.. gracias totales
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...

Etiquetas: dependiendo, redireccionar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:59.