Foros del Web » Programando para Internet » PHP »

al actualizar se borra todo el formulario, y con esto, los datos de la bd!!!

Estas en el tema de al actualizar se borra todo el formulario, y con esto, los datos de la bd!!! en el foro de PHP en Foros del Web. hola de nuevo a tod@s. esta vez he usado un formulario para hacer un UPDATE de los datos (actualizar/modificar los datos personales). dejo el codigo ...
  #1 (permalink)  
Antiguo 13/08/2004, 02:31
Avatar de yeta  
Fecha de Ingreso: enero-2004
Mensajes: 148
Antigüedad: 20 años, 2 meses
Puntos: 0
Exclamación al actualizar se borra todo el formulario, y con esto, los datos de la bd!!!

hola de nuevo a tod@s.

esta vez he usado un formulario para hacer un UPDATE de los datos (actualizar/modificar los datos personales).
dejo el codigo y lo explico
Código PHP:
<?
if($loginCorrecto)
{
if (
$_GET['update'])
{
?>
<font face="Comic Sans MS" color="blue">Enhorabuena, tus datos se han actualizado correctamente.</font>
<br>
<br>
<br>
<center><a href="javascript:close()">Cerrar ventana</a></center>
<?
}else{
?>
Desde aqu&iacute; podr&aacute;s modificar tus datos de Contacto. Reduerda, no 
dejes ningun campo obligatorio vac&iacute;o <br>
<?
$sql25 
"select aficiones,ocupacion,webcam,estado,ciudad,palabritas,pais,foto from contactos where id='$idUsuarioL'";
$a mysql_query($sql25);
while (
$row mysql_fetch_array($a))
{
?>
<FORM ACTION="update_contacto.php?update=ok" METHOD="post">
  <p>Aficiones *: (M&aacute;ximo 255 car&aacute;cteres)<br>
    <textarea cols=40 rows=5 onkeydown="255" name="update_aficiones"><? echo $row[aficiones]; ?></textarea>
    <br>
    <br>
    Tu que &eacute; lo que hace? *: (Ocupaci&oacute;n; ideas: estudiante, camello, 
    mafioso, warri, warrillo, fumaporros...) <br>
    <INPUT TYPE="text" NAME="update_ocupacion" VALUE="<? echo $row[ocupacion]; ?>" SIZE=25 MAXLENGTH=25 style="background:0000ff;color:ff0000;font-family:Comic Sans MS;text-align:center;border-color:0000ff;border-style:groove;">
    <br>
    <br>
    Webcam:<br>
    <input type="radio" name="webcam" value="si">Si
    <input type="radio" name="webcam" value="no">No<br>
    <br>
    Estado Civil *:<BR>
    <INPUT TYPE="text" NAME="update_estado" SIZE=25 MAXLENGTH=20 VALUE="<? echo $row[estado]; ?>" style="background:0000ff;color:ff0000;font-family:Comic Sans MS;text-align:center;border-color:0000ff;border-style:groove;">
  </p>
  <p>Aonde vives? Ande est&aacute; tu habita-culo? *: (Ciudad)<br>
    <INPUT TYPE="text" NAME="update_ciudad" SIZE=25 MAXLENGTH=20 VALUE="<? echo $row[ciudad]; ?>" style="background:0000ff;color:ff0000;font-family:Comic Sans MS;text-align:center;border-color:0000ff;border-style:groove;">
    <br>
    <br>
    Unas palabritas para la humanidad:<br>
    <textarea cols=40 rows=5 onkeydown="255" name="update_palabritas"><? echo $row[palabritas]; ?></textarea>
    <br>
    <br>
    Pa&iacute;s *:<br>
    <INPUT TYPE="text" NAME="update_pais" VALUE="<? echo $row[pais]; ?>" SIZE=25 MAXLENGTH=15 style="background:0000ff;color:ff0000;font-family:Comic Sans MS;text-align:center;border-color:0000ff;border-style:groove;">
    <br>
    <br>
    Foto: (Escribe la direcci&oacute;n web donde est&aacute; subida la foto; si 
    no tienes, deja el espacio en blanco)<br>
    <br>
    <INPUT TYPE="text" NAME="update_foto" VALUE="<? echo $row[foto]; ?>" SIZE=50 MAXLENGTH=75 style="background:0000ff;color:ff0000;font-family:Comic Sans MS;text-align:center;border-color:0000ff;border-style:groove;">
    <br>
    <INPUT TYPE="submit" CLASS="boton" VALUE="Actualizar">
  </p>
  </FORM>
<?
}
}
$update "UPDATE contactos SET aficiones='$_POST[update_aficiones]',ocupacion='$_POST[update_ocupacion]',webcam='$_POST[webcam]',estado='$_POST[update_estado]',ciudad='$_POST[update_ciudad]',palabritas='$_POST[update_palabritas]',pais='$_POST[update_pais]',foto='$_POST[update_foto]' where id='$idUsuarioL'";
mysql_query($update);

}
else
{
echo 
"El sistema no lo ha identificado, solo los usuarios registrados tienen acceso a esta area";
}
?>
el formulario muestra en sus espacios lo que hay en la base de datos correspondiente a ese dato. el formulario funciona bien para modificar los datos. pero si le das al boton de actualizar o a F5 los datos se esfuman y se borran de la base de datos !! me parecio increible, ya que no era mas que un simple "actualizar". probe haciendo un pop-up, asi no saldria el boton de actualizar, pero podias seguir usando F5 (o algunos teclados llevan incorporado un boton de actualizar). hay alguna forma para que no se borren esos datos?que si a alguien se le ocurra dar a actualizar, simplemenete actualice, mostrando los datos correspondientes, y no borrandolos??!!

muchas gracias
  #2 (permalink)  
Antiguo 13/08/2004, 04:38
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 9 meses
Puntos: 16
Hola,

La solucion normal es que despues de realizar el update hagas una redierccion con header() a la pagina que muestre el resultado. Asi no queda en el historial del navegador la peticion de actualizacion.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 13/08/2004, 06:24
 
Fecha de Ingreso: agosto-2004
Ubicación: Valencia
Mensajes: 149
Antigüedad: 19 años, 7 meses
Puntos: 0
A mi me sucedía lo mismo, bueno, en realidad lo que pasaba es que no actualizaba nada, para poder hacerlo tuve que hacer un pequeño cambio, se trata de en un primer paso poner los datos de la base a través del form, que el usuario los cambie y darle a aceptar a través de una variable, en un segundo paso vuelvo a mostrar estos datos pasados a través de sus variables y tras darle a aceptar con otra variable diferente a la anterior entonces sí que modifico los datos de la base, como dice josemi hace falta un refresh, basta con volver a mostar los resultados cambiados y se soluciona.
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 02:15.