Foros del Web » Programando para Internet » PHP »

Duda

Estas en el tema de Duda en el foro de PHP en Foros del Web. Si la consulta que trato de ejecutar me da algun error como puedo redireccionar a la pagina que estaba que contenía un formulario antes rellenado ...
  #1 (permalink)  
Antiguo 17/04/2004, 00:29
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 15 años
Puntos: 1
Duda

Si la consulta que trato de ejecutar me da algun error como puedo redireccionar a la pagina que estaba que contenía un formulario antes rellenado por el usuario, y con los datos que el usuario había llenado ya. He probado de esta forma pero no me funciona:
Código PHP:
 redirect("Administración de usuarios","2",$HTTP_REFERER,"Los datos del usuario ".$_POST['nombre']." han sido actualizados correctamente"); 
donde redirect es la función esta:
Código PHP:
 function redirect($titulo,$time,$url,$texto){
 echo 
"<html><head><title>".$titulo."</title><meta http-equiv='Refresh' Content='".$time." ;url=".$url."'>
       </head><script language=JavaScript src=includes/mx.js></script>
       <link href=includes/mx.css rel=stylesheet type=text/css>
       <body bgcolor='#a2aace' topmargin='3'>
       <table width='300' border='0' align='center' cellpadding='0' cellspacing='0'>
       <tr>
       <td><div align='center'><img src='img/marxismologofull.gif' alt='Departamento de Marxismo' width='174' height='82'></div></td>
       </tr>
       <tr>
       <td class='txtcn'>"
.$texto."</td>
       </tr>
       <tr>
       <td><div align='right'><img src='img/mxportal.gif' alt='MX Portal System' width='36' height='32'></div></td>
       </tr>
       </table>
       </body></html>"
;

Salu2
__________________
Ing. Reynier Pérez Mira
  #2 (permalink)  
Antiguo 17/04/2004, 08:54
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 14 años, 7 meses
Puntos: 2
puedes hacerlo de varias formas... yo uso algo parecido a esto...

Código PHP:
function FUNC_requestUrl(){
    
$_SESSION['idCatReferer'] = $_SERVER['REQUEST_URI'];
return 
$_SERVER['REQUEST_URI'];

cuando estoy en el formulario por ejemplo ejecuto esta funcion...

Código PHP:
FUNC_requestUrl(); 
la funcion devuelve la direccion exacta en la que estas... y la mete en una session...., si tu script da error y quieres volver atras automaticamente, despues de mostrar otra pagina dando ese ERROR... haces un

Código PHP:
Header ("Location: $_SESSION['idCatReferer']"); 
asi vuelves al formulario, donde has iniciado la Function....

-----------------------------------------------------------------------------


otra cosa.,.. como volver a tener los datos que el usuario a ingresado en el formulario... para que no tenga que volver a escribirlos.... a mi esq me gusta mucho las sessiones...

Cuando el usuario pulsa en Boton de Enviar Formulario...

nada mas llegar al script que comprieba los datos y los inserta...

extraigo los datos del formulario y los meto en la session que tengo abierta....

Código PHP:

$_SESSION
['user_session'] = $_POST['user_session_form'];
$_SESSION['pass_session'] = $_POST['pass_session_form'];
$_SESSION['id_session'] = $_POST['id_session_form'];


//luego vendria tus comprobadores... y demas

if(empty($_SESSION[..... 
y ahora en tu formulario tendras que poner en el VALUE de los input o lo que tengas... el resultado de esa session con sus datos en cada campo... asi siempre se graba todo...

hay otra forma de hacerlo... pero a mi me gusta mas asi...

cuando termino el formulario y todo es correcto y se insertan los datos... lo unico que hago es destruir los datos dentro de la session, asi no queda rastro de lo que estabas haciendo....

Código PHP:
unset($_SESSION['user_session_form']);
unset(
$_SESSION['pass_session_form']);
unset(
$_SESSION['id_session_form']); 

__________________
3w.valenciadjs.com
3w.laislatv.com
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 22:31.