Ver Mensaje Individual
  #16 (permalink)  
Antiguo 29/06/2011, 08:01
oscarbt
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
Respuesta: se pirder valor de session al hacer UPDATE

Ok aca va:

los arhivos de conexion siguen lo mismo...

arhivo funciones.php


Código PHP:
Ver original
  1. <?php
  2. function check_valid_user()
  3. // see if somebody is logged in and notify them if not
  4. {
  5. if (isset($_SESSION['valid_user']) || ($_SESSION['estud']) )
  6. {
  7.  
  8.  $text = "<h3><font size='2' color='#FF0000'>
  9. Estas logeado como ".$_SESSION['valid_user']."<br><p></font></h3>";
  10.  $i=1;
  11.   $arr[0] = $text;
  12.  $arr[1] = $i;
  13.  return $arr;
  14.  
  15.  }
  16.  else
  17.  {
  18. // they are not logged in
  19. $text = "<h3><font size='2' color='#FF0000'>
  20. No estas logeado</font></h3>";
  21. $i=0;
  22. $arr[0] = $text;
  23. $arr[1] = $i;
  24. return $arr;
  25. }
  26. }
  27. function login_in($usuario, $clave)
  28.  
  29. {
  30. // connect to db
  31. include("config.php");
  32. include("opendb.php");
  33. $sql = "SELECT * FROM users WHERE NOMBRE=".$usuario."' and PASSWORD='".$clave."'";
  34. $result = mysql_query($sql);
  35. if (mysql_num_rows($result) > 0)
  36. return 1;
  37. else
  38. return 0;
  39. }
  40. ?>

autenticacion.php

Código PHP:
Ver original
  1. <?php
  2. require_once('funciones.php');
  3. $usuario=$_POST['usuario'];
  4. $clave=$_POST['clave'];
  5. if (login_in($usuario, $clave)==1)
  6. {
  7. if ($usuario=="admin"){
  8.  $_SESSION['valid_user'] = $usuario;
  9.  header("Location: administracion.php");
  10.  }
  11.  if ($usuario!="admin")
  12.  {
  13.  $_SESSION['estud'] = $usuario;
  14.  header("Location: admin.php?optegresado=$usuario");
  15.  }
  16. }
  17. else
  18. {
  19. echo "No estas logueado";
  20. }
  21. ?>

y el archivo login.php (donde hago el UPDATE)

Código PHP:
Ver original
  1. <?php
  2. if (isset($_SESSION['estud']) )
  3. {
  4. ?>
  5. <html>
  6. <head>
  7. </head>
  8. <body>
  9. <form action="cuenta.php" method="post" name="form1" id="form1">
  10. Nombre de usuario
  11. <input type="text" name="usuario" value="<?php echo $fila["NOMBRE"]?>"/>
  12. Password actual:
  13. <input type="password" name="pass" id="pass"/>
  14. Nuevo password:
  15. <input type="password" name="c1" />
  16. Confirmar Nuevo password:
  17. <input type="password" name="c2" />
  18. <input type="submit" name="modificar" value="Actualizar contraseña">
  19. </form>
  20. <?php
  21. if(isset($_POST['usuario'])){
  22. $usuario=$_POST['usuario'];
  23. $password=$_POST['pass'];
  24. $nuevo=$_POST['c1'];
  25. include ("config.php");
  26. include ("opendb.php");
  27. $sql="SELECT PASSWORD FROM users WHERE NOMBRE='".$usuario."'";
  28. $resultado = mysql_query($sql);
  29.  if ( !$resultado )
  30. die( "Error ejecutando la Consulta");
  31. $fila = mysql_fetch_array( $resultado );
  32. $antes=$fila[1];
  33. if($antes==$password)
  34. {
  35. $update= "update users set PASSWORD= '".$nuevo."' where NOMBRE = '".$usuario."'";
  36. $resultado = mysql_query ($update);
  37. echo "<font color='red'><h3>El password ha sido actualizado</h3></font>";
  38. }
  39. else
  40. {
  41. echo "<font color='red'><h3>El password ingresado no corresponde al del usuario</h3></font>";  
  42. }
  43. }
  44. ?>
  45.  
  46. </body>
  47. </html>
  48. <?php
  49. }
  50. else
  51. {
  52. not_auth();
  53. }
  54. ?>

De esa forma he dejado los archivos pero el problema sigue, la session se sigue perdiendo.........