Foros del Web » Programando para Internet » PHP »

Eliminar contenido de $_POST

Estas en el tema de Eliminar contenido de $_POST en el foro de PHP en Foros del Web. Hola que tal, tengo un problema y consiste en esto: a=pagina donde escribo el login y password b=pagina q se muestra si login y password ...
  #1 (permalink)  
Antiguo 09/10/2006, 12:53
 
Fecha de Ingreso: abril-2005
Mensajes: 124
Antigüedad: 19 años
Puntos: 0
Eliminar contenido de $_POST

Hola que tal, tengo un problema y consiste en esto:
a=pagina donde escribo el login y password
b=pagina q se muestra si login y password estan correctos

tengo una pagina a, si estan correctos los datos pasa a b. lo que quiero es que una vez q este en b el usuario da click en el boton de atras, a la pagina anterior(en este caso a) y vuelva dar adelantar(es decir a b), no me muestre la pagina otra vez con los datos, si no q me diga que la pagina a caducado.

los datos de a los envio con el metodo post y de esa manera los recibo en b.

he escrito esto:
header("Cache-Control: no-store,no-cache,must-revalidate");
header("Cache-Control: no-store,post-check=0,pre-check=0",false);
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Pragma: no-cache");

y lo unico que hace es mostrarme q la pagina a expirado, pero si le doy actualizar, vuelve a mostrarme los datos.
he trabajado con sesiones y funciona, pero de alguna manera me pidieron hacerlo con iis y me manda muchos problemas con las sesiones.

mi pregunta es: como eliminar la cache donde se almacenan las variables que mando con post, una vez que este en b?

gracias....
  #2 (permalink)  
Antiguo 09/10/2006, 13:01
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
jeje lo que podrias hacer es utilizar la funcion unset()

Saludillos.
  #3 (permalink)  
Antiguo 09/10/2006, 14:32
 
Fecha de Ingreso: abril-2005
Mensajes: 124
Antigüedad: 19 años
Puntos: 0
mira lo tengo de esta manera:
unset($_POST['user']);
unset($_POST['pass']);

y sigue haciendo todo igual
  #4 (permalink)  
Antiguo 10/10/2006, 02:59
Avatar de djreficul  
Fecha de Ingreso: julio-2006
Ubicación: Cork
Mensajes: 672
Antigüedad: 17 años, 9 meses
Puntos: 0
La verdad es q una de las maneras más prácticas es hacerlo con sesiones así te aseguras de hacer q expire y no valga actulizar para remandar los datos en una sesión inexistente.

La cuestión es, q clase de problemas se te presenta en IIS? Te lo comento xq yo uso IIS tanto en el servidor propio como en el privado y no he tenido problema de manejo de sesiones. Tal vez podamos ayudarte entre todos.

Saludos.
__________________
La muerte es un camino que todos debemos recorrer...
  #5 (permalink)  
Antiguo 10/10/2006, 10:33
 
Fecha de Ingreso: abril-2005
Mensajes: 124
Antigüedad: 19 años
Puntos: 0
gracias djreficul...
oye, pues me das grandes esperanzas:El IIS es el que viene en el windows xp profesional y la version es la version 5.1, el php que instale es la version 5.1.5 y el mysql version php-5.1.5-Win32. Instale los dos y ya hice pruebas de conexion y no hay ningun problema. hay un programa en php donde escriben login y password, en caso de estar correctos le doy un nombre a la sesion y creo la sesion:
session_name($usersesion);
session_start();
cabe mencionar que mi php.ini tengo session.auto_start = 0, en mi sistema de linux(que tiene apache,php y mysql) me genera una sesion y continua sin ningun problema. Pero en iis cuando genero la sesion me dice que no puede mostrar los datos y no continua, pero en mi archivo temporal donde se guardan las sessiones me ha generado 27 sesiones cuando se supone solo debe de haber una y ese es mi problema......

de antemano gracias por la ayuda...
  #6 (permalink)  
Antiguo 10/10/2006, 10:49
Avatar de djreficul  
Fecha de Ingreso: julio-2006
Ubicación: Cork
Mensajes: 672
Antigüedad: 17 años, 9 meses
Puntos: 0
¿Quieres decir q en lugar de generar un archivo de sesion se crea una especie de bucle y no para de generarlas?

La verdad es q nunca he usado session_name pero he exo una prueba y esto parece seguir funcionando.

Yo tengo montado IIS al igual q tu en un XP Pro pero la version 5.0.4 en modo CGI. No he probado con la 5.1.5

También disponemos de un servidor con Windows 2003 Server y el PHP 5.0.4 en modo ISAPI sin problemas x ahora.

La única cosa q encuentro es q hay variables y funciones q no están disponibles en IIS pero siempre te lo puedes currar de otra forma y aprovexar lo q Windows te deja hacer frente a Linux, q seguro q no es muxo, aunque está claro q lo ideal es Apache y PHP.

No se me okurre el por qué de tu problema. Esperemos q Cluster o algún otro entendido sepa a qué puede deberse lo tuyo.

Saludos.
__________________
La muerte es un camino que todos debemos recorrer...
  #7 (permalink)  
Antiguo 10/10/2006, 11:32
 
Fecha de Ingreso: abril-2005
Mensajes: 124
Antigüedad: 19 años
Puntos: 0
bueno...gracias djreficul
  #8 (permalink)  
Antiguo 10/10/2006, 11:50
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
El problema que plantean más bien se suele resolver NO dejando el proceso en el script siguiente que recibie los datos del formulario y que envia datos a este en metodo POST.

formulario.php -> procesa.php -> resultados.php

Formulario.php tendría nuestro formulario, .. procesa.php el código de validación etc .. y de ahí redireccionar a los resultados.

Esto es válido para un sistema de lógin (en la validación) .. esos procesos que envian un e-mail o meten datos en una BBDD .. etc.

El caso es NO hacer cosas como:

formulario.php
el formulario > "action" a resultados.php

resultados.php
Código PHP:
<?
echo $_POST['alguna_variable'];
// enviamos un e-mail po rejemplo .. u otro proceso ...
mail( ...);
if (
todo OK){
// presentamos un mensaje de exito.
} else{
// presentamos un mensaje de error.
}
?>
Si en nuestro "resultados.php" recargamos la página .. ahí veremos como se ejecuta nuevamente el proceso de esta, el navegador intentará enviar nuevamente las variables que tenemos en POST y el proceso se ejecutará tantas veces como nos cansemos de recargar la página.

Es importante "redireccionar" .. así "perdemos" todo lo que nuestro cliente almacenó en POST.

formulario.php
el formulario > "action" a procesa.php

procesa.php
Código PHP:
<?
echo $_POST['alguna_variable'];
// enviamos un e-mail po rejemplo .. u otro proceso ...
mail( ...);
if (
todo OK){
   
// Redireccionamos con un código de mensaje para procesarlo donde llegamos.
   
header ("Location: resultados.php?cod=exito");
   exit;
} else{
   
// Redireccionamos con un código de mensaje para procesarlo donde llegamos.
   
header ("Location: resultados.php?cod=error");
   exit;
}
?>
resultados.php
Código PHP:
<?
echo "El mensaje fué: ".$_GET['cod'];
?>
En este caso, nuestro "proceso.php" sea como sea su resultado, redirecciona hacia una página anexa antes de que el "HTML" pueda llegar a esta pues se hace por cabeceras HTTP. Si recargamos la página .. recargamos la del mensaje de error/exito y no la que realiza el proceso.

Acabo de exponer el ejemplo usando "tres" scripts .. esto no quiere decir que todo no se pueda hacer en un mismo -script- eso sí, tratado cada "fase" del mismo como un proceso individual recargando vía cabeceras HTTP ante cada "acción" a realizar: ver formulario, procesar y ver mensajes de error/exito.

Por otro lado ....

Creo que con cabeceras tipo "Private" además de las de "nocache" se solventa también el problema. No obstante este problema con este procedimento se soluciona de raiz.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #9 (permalink)  
Antiguo 11/10/2006, 09:20
 
Fecha de Ingreso: abril-2005
Mensajes: 124
Antigüedad: 19 años
Puntos: 0
ya lo hice y funciona de maravilla. de antemano gracias cluster
  #10 (permalink)  
Antiguo 11/10/2006, 15:10
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Al final que solución tomastes? ... (ya que hice mención a la de cabeceras "private" entre otras cosas).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #11 (permalink)  
Antiguo 12/10/2006, 12:36
 
Fecha de Ingreso: abril-2005
Mensajes: 124
Antigüedad: 19 años
Puntos: 0
lo hice con lo de tres scripts y funciono, la opcion private no se si la este aplicando mal, pero no me queda...seguire intentandole y si me queda, lo publico, gracias de antemano.

por cierto, estoy aplicando tu trabajo de sesiones y acaba de presentarme un problema o igual no lo es..mira, cuando ocupo header(location: xxx.php?clave="3") y xxx.php tiene lo de validar usuarios, esto lo hace de manera satisfactoria, no igual cuando necesito utilizar window.location.href="xxx.php"+"?clave="+document. principal.clave.value, me marca acceso incorrecto, crees saber porque, se supone que mi sesion sigue activa.


gracias por todo.
  #12 (permalink)  
Antiguo 12/10/2006, 17:36
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por jgrc Ver Mensaje
lo hice con lo de tres scripts y funciono, la opcion private no se si la este aplicando mal, pero no me queda...seguire intentandole y si me queda, lo publico, gracias de antemano.

por cierto, estoy aplicando tu trabajo de sesiones y acaba de presentarme un problema o igual no lo es..mira, cuando ocupo header(location: xxx.php?clave="3") y xxx.php tiene lo de validar usuarios, esto lo hace de manera satisfactoria, no igual cuando necesito utilizar window.location.href="xxx.php"+"?clave="+document. principal.clave.value, me marca acceso incorrecto, crees saber porque, se supone que mi sesion sigue activa.


gracias por todo.
Podrías hacer tu pregunta en un tema nuevo .. haz referencia a que usas "Autentificator" (supongo que es a eso lo que te refieres) y especifica el mensaje de error concreto (por qué Autentificator localiza 3 mensajes de error y según sea este .. así es el tipo de problema que tienes).

Al "parecer" tienes problemas con la validación que se hace sobre "HTTP_REFERER" .. cuando se usan o abren ventanas vía javascript dicha información no la entregan los navegadores al servidor HTTP y a su vez PHP no la puede obtener. Lo recomendable es que quites esa validación (IF) que contiene las llamadas al HTTP_REFERER, .. no involucra o expone la seguridad del script si lo eliminas .. De hecho ese dichos "if()" algún día lo quitaré pues dá más "problemas" que beneficios en la práctica (por la experiencia que he recogido de los muchos usuarios que lo han usado).

Cualquier duda al respecto, inicia un nuevo tema y concreta que mensaje de error obtienes.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 04:54.