Foros del Web » Programando para Internet » PHP »

Ayuda con Session

Estas en el tema de Ayuda con Session en el foro de PHP en Foros del Web. Hola amigos buenas tardes, tengo un sistema de login con $Session aqui haces login y muestra las paginas y todo, hay una seccion de MIS ...
  #1 (permalink)  
Antiguo 30/09/2009, 12:04
 
Fecha de Ingreso: marzo-2009
Mensajes: 32
Antigüedad: 15 años
Puntos: 0
Ayuda con Session

Hola amigos buenas tardes, tengo un sistema de login con $Session

aqui haces login y muestra las paginas y todo, hay una seccion de MIS DATOS y muestra los datos del usurario de esa sesion...

mi problema es si quieren actualizar lo pueden hacer pero si actualizan datos se actualiza en el SQL pero tienen que hacer logout y despues login para poder ver que se actualizo los datos...

hay alguna manera que pueda cuando actualize los datos recarge la session?

les pongo el cofigo

Código PHP:

                            <?
include("conection.php");
?>

</head>

<body>
  <?

 session_start
();

if(
$_SESSION["k_username"]){



?>


<div align="center">
  <p>Editar Datos</p>
  <form action=""  method="post" name="form1" id="form1">
  <table width="273" border="0" cellspacing="1" cellpadding="1">
      <tr>
        <td colspan="3" align="center">
        
          
            <?   if (isset($_POST['id'])) {


$id $_POST['id'];
$usuario $_POST['usuario'];
$password$_POST['password'];
$direccion$_POST['direccion'];
$tel$_POST['tel'];
$email$_POST['email'];


$query "UPDATE usuarios SET  password='$password', direccion='$direccion', tel='$tel', email='$email' WHERE id=$id";
mysql_query($query) or die(mysql_error());
echo 
"<div class='amarillo10'>El usuario se actualizo correctamente</div>";

}

   if (!isset(
$_POST['id'])) {
?>


<input name="id" type="hidden" id="id" value="<? echo ''.$_SESSION['k_id'].''?>" />
<input name="nombre" type="hidden" id="nombre" value="<? echo ''.$_SESSION['k_nombre'].''?>" />
          </td>
      </tr>
      <tr>
        <td align="right">Id:</td>
        <td>&nbsp;</td>
        <td align='left'><? echo ''.$_SESSION['k_id'].''?></td>
      </tr>
    <tr>
      <td align="right">Nombre:</td>
      <td width="8">&nbsp;</td>
      <td align='left'><? echo ''.$_SESSION['k_nombre'].''?></td>
    </tr>
    <tr>
      <td align="right">Usuario:</td>
      <td>&nbsp;</td>
      <td align='left'><? echo ''.$_SESSION['k_username'].''?></td>
    </tr>
    <tr>
      <td align="right">Contrase&ntilde;a:</td>
      <td>&nbsp;</td>
      <td align='left'><input name="password" type="text" id="password" value="<? echo ''.$_SESSION['k_password'].''?>" /></td>
    </tr>
    <tr>
      <td align="right">Direcci&oacute;n:</td>
      <td>&nbsp;</td>
      <td align='left'><input name="direccion" type="text" id="direccion" value="<? echo ''.$_SESSION['k_direccion'].''?>" /></td>
    </tr>
    <tr>
      <td align="right">Tel&eacute;fono:</td>
      <td>&nbsp;</td>
      <td align='left'><input name="tel" type="text" id="tel" value="<? echo ''.$_SESSION['k_tel'].''?>" /></td>
    </tr>
    <tr>
      <td align="right">Correo:</td>
      <td>&nbsp;</td>
      <td align='left'><input name="email" type="text" id="email" value="<? echo ''.$_SESSION['k_email'].''?>" /></td>
    </tr>
    <tr>
      <td align="right">&nbsp;</td>
      <td>&nbsp;</td>
      *</td>
    </tr>
    <tr>
      <td colspan="3" align="center"><input  type="image" style="margin-left:7px; border-style:none; height: 22px;"   value="submit" name="editar" src="../images/enviar.jpg"   />   </td>
    </tr>
  </table>
<? }
?>
  </form>
</div>


<?

}else{
echo 
"Lo siento, no estas autorizado para ver esta seccion. favor de contactar al administrador";
}  
?>
en donde abre recoge los datos de la session es validar_usuarios.php

Código PHP:
if(trim($_POST["usuario"]) != "" && trim($_POST["password"]) != "")
{
    
// Puedes utilizar la funcion para eliminar algun caracter en especifico
    //$usuario = strtolower(quitar($_POST["usuario"]));
    //$password = $_POST["password"];
    // o puedes convertir los a su entidad HTML aplicable con htmlentities
    
$usuario strtolower(htmlentities($_POST["usuario"], ENT_QUOTES));
    
$password $_POST["password"];
    
$result mysql_query('SELECT * FROM usuarios WHERE usuario=\''.$usuario.'\'');
    if(
$row mysql_fetch_array($result)){
if(
$row["password"] == $password and $row["status"] == 'Activa'){
$_SESSION["k_id"] = $row['id'];
$_SESSION["k_status"] = $row['status'];
$_SESSION["k_nivel"] = $row['nivel'];
$_SESSION["k_username"] = $row['usuario'];
$_SESSION["k_password"] = $row['password'];
$_SESSION["k_nombre"] = $row['nombre'];
$_SESSION["k_direccion"] = $row['direccion'];
$_SESSION["k_tel"] = $row['tel'];
$_SESSION["k_email"] = $row['email'];

header("Location: ../login/index3.php");
}else{
$_SESSION["k_username"] = $usuario;
echo 
"";
echo 
"<div align='center'><p class='blanco1'><br><br><br>Cotraseña no valida o Cuenta no activada</p>
<br><br><a href='index.php' class='amarillo10'>Regresar</a></div>"
;
};
}else{
echo 
"";
echo 
"<div align='center'><p class='blanco1'>Usuario no existente en la base de datos</p><br><br>
<a href='index.php' class='amarillo10' >Regresar</a></div>"
;

};
mysql_free_result($result);
}else{
echo 
"";
echo 
"<div align='center'> <p class='blanco1'>Debe especificar un usuario y password</p><br><br>
<a href='index.php' class='amarillo10'>Regresar</a></div> "
;
};
mysql_close();
?> 

Gracias
  #2 (permalink)  
Antiguo 30/09/2009, 12:16
Avatar de acoevil  
Fecha de Ingreso: julio-2008
Ubicación: localhost/colombia/sevillaValle.php
Mensajes: 1.123
Antigüedad: 15 años, 8 meses
Puntos: 32
Respuesta: Ayuda con Session

puedes hacer una redireccion hacia el lugar donde se quieran ver los nuevos datos o usar ajax para q vean el cambio inmediatamente

header("location: index.php");
  #3 (permalink)  
Antiguo 30/09/2009, 13:01
 
Fecha de Ingreso: marzo-2009
Mensajes: 32
Antigüedad: 15 años
Puntos: 0
Respuesta: Ayuda con Session

Muchas Gracias..
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 09:35.