Comunidad oficial de diseñadores web, web developers y Webmasters. Aqui podemos tratar temas actuales sobre diseño y tecnología. Podemos compartir y actualizarnos. Photoshop, Flash, PHP, ASP, Java, HTML, CSS, MySQL, CMS, etc. Unite YA y lee los Sticky
Ver más- 13,065 Miembros
- 9,531 Temas
- 3,449 Seguidores
[P] Problema con sacar el Id de la sesión.
Hola comunidad
Tengo un problema con sacar el Id de la sesión del usuario que esta log in en este momento, y encapsular le en una variable para ser usada luego en la sentencia sql y otras pendejaditas varias.
¿Alguien podría darme alguna indicación de como mas o menos funciona la cosa?
Gracias.

- 0Calificación
- 1Seguidores
- 110Visitas
- 0Favoritos
Global
Argentina
Chile
Colombia
España
México
Perú
Uruguay
Venezuela
8 respuestas
tenes algun codigo hecho? yo acabo de hacer un sitema de login... con objetos a medias para un futuro CMS
De sesión tengo como le saco el id?? y como puedo usarlo en otros codes que no sea este
<?php
session_start ();
if (isset($_SESSION['valid_user']))
{
echo "<center><table border ='0'>";
echo "<tr>";
echo "<td><font face='Courier New'><h3>Bienvenido. {$_SESSION['valid_user']} </h3></td>";
echo "<td><a href=Perfil.php><input type=submit value='Perfil'></a></td>";
echo "<td>  <a href=Logout.php><input type=submit value='Salir' name='salir'></font></td>";
echo "</tr></table></center>";
}
else
{
?>
<html><body><center>
<form action="" method="post">
<tr><td>Usuario:</td>
<td><input name="usuario" type="text" value="<?php if(isset($_POST["usuario"])) {echo $_POST["usuario"];} ?>" size="17" maxlength="30"></td>
<td>Contraseña</td>
<td><input name="contrasena" type="password" value="<?php if(isset($_POST["contrasena"])) {echo $_POST["contrasena"];} ?>" size="17" maxlength="30"></td>
</tr>
<input type=submit value="Entrar" name="acceso"><a href=registro.php><input type=submit value="Registro"></a></td></tr></center></body></html>
<?php
if (isset($_POST['acceso']))
{
$usuario = trim ($_POST ['usuario']); // Usar la superglobal correspondiente, si se envia por POST usar _POST no REQUEST
$contrasena = $_POST ['contrasena']; //
require_once ("Conexion.php");
$Winicio = "SELECT * FROM usuario WHERE Nombre_Usuario = '$usuario' AND Contrasena_Usuario = '$contrasena'";
$result = mysql_query($Winicio);
while($row = mysql_fetch_array($result))
{
echo $row['Id_Usuario'];
echo "<br />";
}
if (mysql_num_rows($result) >0 )
{
// si están en la base de datos registra la id de usuario
$_SESSION['valid_user'] = $usuario;
$PutoId = "SELECT Id_Usuario FROM usuario WHERE Nombre_Usuario = '$usuario'";
$Id = mysql_query ($PutoId);
}
else
{
echo "<h4>Su usuario o contraseña son incorrectos, por favor reviselos</h4>";
}
}
}
?>
leete esto:
http://ar2.php.net/manual/es/function.session-id.php
la otra forma es, la variable de sesion siempre se unica, por usuario y por navegador (si abrimos facebook en chrome y en firefox, estamos en dos sesiones diferentes por ejemplo), bueno eso se almacena en un "coso" (no me acuerdo el nombre) que se denomina "SID", a ese "coso" no se le puede hacer un echo (a veces si, pero depende de tu codigo), pero si se lo puede almacenar en la base de datos, proba haciendo un echo SID y fijate que te devuelve, ahora este SID no es solo de sesion logueada, sino de sesion general, o sea, si el usuario entro a la pag, automatimaticamente el SID empieza correr, este o no logueado... cambia (se modifica)cuando el usuario se loguea...
y al hacer la consulta podes extraer el id y la guardas en una variable de sesion.. recomiendo que encapsules el codigo en funciones para que lo puedas reutilizar en otras partes..
Eso del POO me a dado duro =(
Gracias esto lo probare mañana
mejor usa cookies, y el usuario al logearse generará una hash, esta hash se guardará junto a los datos del usuario y a su vez en la cookie, y siempre validarás que esa hash de la cookie sea la misma que la de la base de datos, las sesiones expiran al cerrar el navegador, solo conviene usarlas en sistemas (como un home-banking) donde la seguridad sea rigurosa.
pero la sesion no genera una cookie para mantenerla persistente?
el SID es una especie de cookie pero mas segura.. ya que muere cuando el navegador se cierra...