PHP - Se pierden los datos al recargar

 
Vista:

Se pierden los datos al recargar

Publicado por velmakelly (39 intervenciones) el 26/03/2009 00:25:50
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.

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>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Se pierden los datos al recargar

Publicado por ROCKMUERTE (146 intervenciones) el 26/03/2009 01:37:06
HOLA, SABES CUANDO UNA PAGINA WEB ES RECARGADA SIEMPRE SE PIERDEN LOS DATOS, A MENOS QUE PONGAS UN IDENTIFICADOR, COMO ESTE "?" AHORA ME GUSTARIA SABER COMO HACES PARA ENVIAR LAS VARIABLES.

A OTRO PUNTO, EN heredoc TIENE QUE FINALIZARSE CON LAS MISMAS LETRAS QUE INICIALIZASTE, NO SE SI NO PUSISTE PARA CENTRAR EL PUNTO.

NOS CUENTAS PUES, SUERTE.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Se pierden los datos al recargar

Publicado por velmakelly (39 intervenciones) el 26/03/2009 18:40:09
Gracias por responder, la parte del HEREDOC esta bien cerrada:
echo <<< HTML -->inicia
HTML; -->cierra
No sabia lo del identificador y no se donde ponerlo, este es mi primer sistema web. La parte de los datos esta de la siguiente forma, te pongo el ejemplo completo con un registro, la conexion a la base esta en otro archivo asi como la validacion de usuarios para acceder:

if (isset($_GET['error'])){
$error_accion_ms[9]= "El apellido paterno contener solo letras y minimo 3 caracteres.";
$error_cod = $_GET['error'];
echo "<div align='center' >$error_accion_ms[$error_cod]</div><br>";
}
$db_conexion= mysql_connect("$sql_host", "$sql_usuario", "$sql_pass") or die("No se pudo conectar a la Base de datos") or die(mysql_error());
mysql_select_db("$sql_db") or die(mysql_error());
$usuario=$_SESSION['usuario_nombre'] ;
if ($_GET['accion']=="nuevo"){
if (isset($_POST['paterno']))$paterno = $_POST['paterno']; //esto lo puse para que no se borrara la info, pero no funciona
cabeceraHTML();
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 colspan="2" height="40"> <div align="center"> <input type="submit" name="Submit" value=" Registrar " class="botones" ><br>
</div> </td></tr> </table>
</form>
HTML;
}
if ($_GET['accion']=="hacernuevo"){
$pat=$_POST['paterno'];
// Validar el Ap.Paterno
if (!ereg("[A-Z]{3,20}", trim($pat))) {
header ("Location: $pag?accion=nuevo&error=9");
exit;
}
//Valida que no haya campos vacios
if ($pat=="") {
header ("Location: $pag?accion=nuevo&error=1");
exit;
}
$usuarios_consulta = mysql_query("SELECT ID FROM $sql_tabla WHERE usuario='$usuario'") or die(mysql_error());
$total_encontrados = mysql_num_rows ($usuarios_consulta);
mysql_free_result($usuarios_consulta);
if ($total_encontrados != 0) {
header ("Location: $pag?accion=nuevo&error=4");
exit;
}
$pat=stripslashes($pat);
mysql_query("INSERT INTO $sql_tabla values('','$pat','$mat','$nom','" . cambiaf_a_mysql($fenacim) . "','$usuario','$pass1','$nivel')") or die(mysql_error());
mysql_close();
header ("Location: $pag");
exit;

Lo que esta pasando es que al momento de que hay un error, como la pagina se recarga para mostrarlo se borran los datos que se habian introduciodo y hay que llenar el formulario completo nuevamente. Puedes ayudarme porfavor.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar