Foros del Web » Programando para Internet » PHP »

PROBLEMA CON SESION DE USUARIO (mensaje de bienvenida)

Estas en el tema de PROBLEMA CON SESION DE USUARIO (mensaje de bienvenida) en el foro de PHP en Foros del Web. Hola!, antes que todo mucho gusto, soy nuevo en el foro :) Bueno tengo un problema al mostrar un mensaje de Bienvenida al usuario mostrando ...
  #1 (permalink)  
Antiguo 20/06/2010, 23:50
Avatar de ras_chalo  
Fecha de Ingreso: junio-2010
Mensajes: 369
Antigüedad: 14 años, 5 meses
Puntos: 6
Exclamación PROBLEMA CON SESION DE USUARIO (mensaje de bienvenida)

Hola!, antes que todo mucho gusto, soy nuevo en el foro :)

Bueno tengo un problema al mostrar un mensaje de Bienvenida al usuario mostrando su nombre y su apellido paterno(ape_paterno)..no cambia segun el usuario que entra, solo muestra el primero de la fila en la base de datos...

VALIDAR.PHP

Código PHP:
<?PHP
session_start
();

include (
"conexion.php");

//aqui valido al usuario
$respuestamysql_query("SELECT * FROM profesor WHERE usuario='"$_POST["usuario"]."' and contrasena='"$_POST["contrasena"]."'"$conexion);
$num_registrosmysql_num_rows($respuesta);

//aqui selecciono el nombre y apellido paterno del usuario de la tabla profesor
$querymysql_query("SELECT nombre , ape_paterno FROM profesor");

//CREO QUE AQUI TENGO EL ERROR
$array=mysql_fetch_array($query);

$_SESSION["nombre"]= $array["nombre"];
$_SESSION["ape_paterno"]= $array["ape_paterno"];

if (
$num_registros>0)
    {
    
//mostrar la página menú
       
header("Location:menu.php");
    }

else
    {
         
header("Location:error_login.php");

    }
mysql_close($conexion);

?>

luego pesco el contenido de las $_SESSION de VALIDAR.PHP y la muestro en MENU.PHP


MENU.PHP
Código PHP:
<?PHP
session_start
();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Menu Principal</title>
</head>
<body>

Bienvenido Profesor(a):
                        <?PHP
                         
if(!isset($_SESSION["nombre"]))
                            
header ("Location:index.php");
                         else
                             echo 
$_SESSION["nombre"];
                             echo 
" ";
                             echo 
$_SESSION["ape_paterno"];
                        
?>
                        
                        <a href="logout.php">cerrar sesion</a>
Ok entonces donde esta mi problema...resulta que al mostrar el nombre y apellido del usuario, me muestra solo el "primer nombre y apellido de la fila" de mi base de datos....

incluso estuve viendo la posibilidad de tener malo el LogOut:

LOGOUT.PHP

Código PHP:
<?PHP
session_start
();
session_unset();
session_destroy();
$_SESSION = array();
header("Location:index.php");
?>
en resumen... si entro con un usuario "ras_oscar" (el primero de la lista) me debe aparecer el nombre y apellido que seria:

Bienvenido Profesor(a): oscar reyes

si despues que cierro sesion, entro con un usuario llamado "ras_maria" vuelve aparecer la misma informacion de "ras_oscar"....y no es la misma :

Bienvenido Profesor(a): oscar reyes

disculpen si fui algo redundante en la informacion, pero trate de ser lo mas claro posible...

desde ya muchas gracias ;)
espero sus respuestas.
  #2 (permalink)  
Antiguo 21/06/2010, 00:24
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: PROBLEMA CON SESION DE USUARIO (mensaje de bienvenida)

es muy sencillo: haces una segunda consulta sin condiciones...

así de simple, si ya tienes en $respuesta el puntero de la primer consulta.. deberías usarla para de ahí obtener los datos, ya que con tu segunda consulta echas a perder todo...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 21/06/2010, 00:37
Avatar de ras_chalo  
Fecha de Ingreso: junio-2010
Mensajes: 369
Antigüedad: 14 años, 5 meses
Puntos: 6
Respuesta: PROBLEMA CON SESION DE USUARIO (mensaje de bienvenida)

Cita:
Iniciado por pateketrueke Ver Mensaje
es muy sencillo: haces una segunda consulta sin condiciones...

así de simple, si ya tienes en $respuesta el puntero de la primer consulta.. deberías usarla para de ahí obtener los datos, ya que con tu segunda consulta echas a perder todo...
mmm creo que te entiendo..osea quedaria algo asi como...

Código PHP:
$respuestamysql_query("SELECT * FROM profesor WHERE usuario='"$_POST["usuario"]."' and contrasena='"$_POST["contrasena"]. , nombre ape_paterno"'"$conexion);

$_SESSION["nombre"]= $respuesta["nombre"];
$_SESSION["ape_paterno"]= $respuesta["ape_paterno"]; 
?????
  #4 (permalink)  
Antiguo 21/06/2010, 00:44
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: PROBLEMA CON SESION DE USUARIO (mensaje de bienvenida)

no, recuerda que para obtener valores del resultado debes usar funciones mysql_fetch*

osea que ya lo tienes casi hecho, solo usa las variables correctas... ;)
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 21/06/2010, 13:06
Avatar de ras_chalo  
Fecha de Ingreso: junio-2010
Mensajes: 369
Antigüedad: 14 años, 5 meses
Puntos: 6
Respuesta: PROBLEMA CON SESION DE USUARIO (mensaje de bienvenida)

Cita:
Iniciado por pateketrueke Ver Mensaje
no, recuerda que para obtener valores del resultado debes usar funciones mysql_fetch*

osea que ya lo tienes casi hecho, solo usa las variables correctas... ;)

MUCHAS GRACIAS COMPADRE!!!

era justo lo que necesitaba...

dejo el código para una próxima ayuda ;)


VALIDAR.PHP
Código PHP:
<?PHP
session_start
();

include (
"conexion.php");

$respuestamysql_query("SELECT * FROM profesor WHERE usuario='"$_POST["usuario"]."' and contrasena='"$_POST["contrasena"]."'"$conexion);
$num_registrosmysql_num_rows($respuesta);
$array=mysql_fetch_array($respuesta);

$_SESSION["nombre"]= $array["nombre"];
$_SESSION["ape_paterno"]= $array["ape_paterno"];

if (
$num_registros>0)
    {
    
//mostrar la página menú
       
header("Location:menu.php");
    }

else
    {
         
header("Location:error_login.php");

    }
mysql_close($conexion);

?>

Etiquetas: mensaje, usuarios
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 22:40.