Ver Mensaje Individual
  #11 (permalink)  
Antiguo 13/08/2010, 15:45
Avatar de Alun
Alun
 
Fecha de Ingreso: diciembre-2009
Ubicación: Liverpool
Mensajes: 140
Antigüedad: 14 años, 4 meses
Puntos: 4
Respuesta: Actualización de registros

Hola, carlos:

Pues en principio, solamente le asigno valor en la página de identificación:

Código PHP:
Ver original
  1. if($sql)
  2. {
  3.  $result=mysql_fetch_row($sql);
  4.  if($result)
  5.  {     
  6.   echo "Has sido identificado correctamente, $result[0], con contraseña $result[1]<br>";
  7.   $_SESSION['nombre']=$result[0];
  8.   $_SESSION['pass'] = $result[1]; //como dije arriba, ahora es $_SESSION['pass']
  9.   echo $_SESSION['nombre'].$_SESSION['pass'].'<br>'; //aquí la imprimo para comprobar que es correcta. Es correcta.
  10.   echo '<a href=".">Volver al índice</a>';
  11.  }
  12. }

Después de comprobar que se cambia, le he asignado de nuevo un valor en la página que contiene el formulario de actualización:

Código PHP:
Ver original
  1. //...
  2. $sql=mysql_query('select * from usuarios where user="'.$_GET['user'].'";',$conex) or die(mysql_error());
  3. if($sql)
  4. {
  5.  $result=mysql_fetch_row($sql);
  6.  if($result)
  7.  {
  8.   $_SESSION['pass'] = $result[1];
  9.   echo $_SESSION['pass'].'<br>';
  10. //...

Justo después, la imprimo, y sale correcta. No obstante, al pasarla a la página donde se actualiza la BD mediante $_SESSION (antes tampoco se pasaba mediante $_GET, ahora sí), aparece cambiada. incluso he forzado que tenga el valor correcto de esta forma:

Código Javascript:
Ver original
  1. function update_account()
  2. {
  3. <?php
  4. $passw = mysql_query('select pwd from usuarios where user like "'.$_SESSION['nombre'].'";',$conexion);
  5. $final = mysql_fetch_row($passw);
  6. $_SESSION['pass'] = $final[0];
  7. ?>
  8. return true;
  9. }

Código PHP:
Ver original
  1. <form action="update_account.php?user=<?php echo $_SESSION['nombre']; ?>&data=<?php echo $_SESSION['pass']; ?>" method="post" name="update_account" onSubmit="update_account();">

y luego en la página de actualización, justo después de iniciar una sesión, hago esto:

Código PHP:
Ver original
  1. $_SESSION['pass'] = $_GET['data'];

Pero nada, en el momento de actualizar, aparece cambiada.


EDITO:

He observado algo curioso: esa variable toma el valor de la contraseña que he asignado a mysql.