Foros del Web » Programando para Internet » PHP »

los datos se pierden cuando la pagina se recarga

Estas en el tema de los datos se pierden cuando la pagina se recarga en el foro de PHP en Foros del Web. Tengo el problema que cuando se recarga la pagina los datos que tenia ya capturados desaparecen, mi caso es con heredoc, estuve investigando y en ...
  #1 (permalink)  
Antiguo 25/03/2009, 17:53
Avatar de velma  
Fecha de Ingreso: marzo-2006
Mensajes: 94
Antigüedad: 18 años, 1 mes
Puntos: 0
Exclamación los datos se pierden cuando la pagina se recarga

Tengo el problema que cuando se recarga la pagina los datos que tenia ya capturados desaparecen, mi caso es con heredoc, estuve investigando y en contre algo como esto peor no funciona, no se esi estoy haciendo algo mal, espero puedan ayudarme.

Código PHP:

if ($_GET['accion']=="nuevo"){ 
if (isset(
$_POST['paterno']))$paterno $_POST['paterno']; 
if (isset(
$_POST['materno']))$materno $_POST['materno']; 
if (isset(
$_POST['nombre']))$nombre $_POST['nombre']; 
if (isset(
$_POST['fechanac']))$fechanac $_POST['fechanac']; 
if (isset(
$_POST['usuarionombre']))$usuarionombre$_POST['usuarionombre']; 

echo <<< 
HTML 
<tr bgcolor="#B1D5E5"
<
td width="250"
<
div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Paterno : </font></div
</
td
<
td width="250"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2"
<
input type="text" name="paterno" id="paterno" class="imputbox" maxlength="20" onChange="javascript:this.value=this.value.toUpperCase()" value=$paterno></font></b></td
</
tr
<
tr bgcolor="#B1D5E5"
<
td width="250"
<
div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Materno : </font></div
</
td
<
td width="250"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2"
<
input type="text" name="materno" id="materno" class="imputbox" maxlength="20" onChange="javascript:this.value=this.value.toUpperCase()" value=$materno
</
font></b></td
</
tr
__________________
:cool: VELMA:si:
  #2 (permalink)  
Antiguo 25/03/2009, 18:19
Avatar de lisandro Arg  
Fecha de Ingreso: octubre-2003
Ubicación: Cordoba, Argentina
Mensajes: 945
Antigüedad: 20 años, 6 meses
Puntos: 24
Respuesta: los datos se pierden cuando la pagina se recarga

No entiendo lo de que desaparecen los datos capturados.

Con respecto a heredoc te falta el "identificador de cierre " http://ar2.php.net/manual/es/languag...syntax.heredoc
  #3 (permalink)  
Antiguo 25/03/2009, 18:41
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: los datos se pierden cuando la pagina se recarga

Y tambien toma en cuenta que todos los valores dentro de inputs deben estar entre comillas:

value="$valor"
__________________
- León, Guanajuato
- GV-Foto
  #4 (permalink)  
Antiguo 26/03/2009, 11:58
Avatar de velma  
Fecha de Ingreso: marzo-2006
Mensajes: 94
Antigüedad: 18 años, 1 mes
Puntos: 0
Respuesta: los datos se pierden cuando la pagina se recarga

Gracias por responder La sintaxixs del heredoc esta bien cerrada, no lo habia puesto porque ese no es el final del codigo, ya lo intente con comillas en el input como dice triby pero el resultado es el mismo, es una ventana de captura, cuando se introduce informacion erronea manda un error , para mostrarlo se recarga y ahi es donde aparece el formulario de nuevo pero esta vez vacio ya hay que introducir de nuevo toda la informacion. Necesito que la informacion se quede para que se corrija solo el campo que esta mal. Lo que estaba tratando de hacer es que al momento de recargar valide si habian datos capturados, estos asignarlos a una variable y al momento de la recarga muestre los datos, por eso lo de Value="$paterno" , esta seria la variable que llevaria los datos que habian sido capturados antes de que se recargara la pagina. Ayuda porfavor.
__________________
:cool: VELMA:si:
  #5 (permalink)  
Antiguo 26/03/2009, 12:05
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: los datos se pierden cuando la pagina se recarga

Pues, si he entendido correctamente te puedo decir que:

Los datos que vienen por POST, o formularios, se pierden al recargar o cambiar de pagina. Estos solo duran en el script que los procesa.

Puedes:
1. Procesar el script en la misma pagina, eso te permitira tener acceso a las variables aun si hubo error (ya que estas no se van a perder, porque no se ha cambiado de script)
2. Usar sessiones para guardar los datos provenientes de POST y recuperarlos nuevamente en la pagina de formulario.
  #6 (permalink)  
Antiguo 27/03/2009, 12:30
Avatar de velma  
Fecha de Ingreso: marzo-2006
Mensajes: 94
Antigüedad: 18 años, 1 mes
Puntos: 0
Pregunta Respuesta: los datos se pierden cuando la pagina se recarga

hola,
gracias por tu respuesta, lo intente con la primera opcion que me diste y si me esta validando pero no aun se recarga me parece que es por la instruccion del Location:

// Validar el Paterno
if (!ereg("[A-Z]{3,20}", trim($pat))) {
header ("Location: $pag?accion=nuevo&error=9");
exit;
}

No se a donde dirigirlo para que se que solo muestre el error y no se recarge la pagina.

Me puedes ayudar con eso porfavor, este es mi primer sistema web y apenas voy comprendiendo el lenguaje.

He probado con:


accion=nuevo&error=9 y error=9, pero no funciona
__________________
:cool: VELMA:si:
  #7 (permalink)  
Antiguo 27/03/2009, 13:55
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: los datos se pierden cuando la pagina se recarga

Pues, si procesas el formulario en el mismo script no hay necesidad de redireccionar.

Solo tienes que, por ejemplo, setear una variable.

Código php:
Ver original
  1. if(/* no coincide el patron */) {
  2.   $error = "El patron no coincidio";
  3. }

Ya luego haces:
Código php:
Ver original
  1. if(isset($error)) {
  2.   echo $error; //si error esta seteada, muestro error y NO proceso los demas datos (si es que vas a, por ejemplo, agregar esos datos a una BBDD
  3. }
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 01:37.