Foros del Web » Programando para Internet » PHP »

Login con sesiones y cambiando menu

Estas en el tema de Login con sesiones y cambiando menu en el foro de PHP en Foros del Web. Hola, Tengo una página en la cual en una de las secciones tengo para que se logeen los usuarios, mi intención es que una vez ...
  #1 (permalink)  
Antiguo 06/03/2010, 11:12
 
Fecha de Ingreso: marzo-2010
Mensajes: 35
Antigüedad: 14 años, 1 mes
Puntos: 1
Login con sesiones y cambiando menu

Hola,

Tengo una página en la cual en una de las secciones tengo para que se logeen los usuarios, mi intención es que una vez que se logeen en vez de que siga apareciendo los campos del formulario les salga un mensaje del tipo "Bienvenido" y que además, dependiendo del "rol" que tengan en la base de datos les salga un menu u otro.

Ahora mismo había hecho algo así en el index:

Código PHP:
if (!isset($_SESSION['persona']) && !isset($_SESSION['empresa']))
    include(
"menuinvitado.inc");
 else
 {
   if (isset(
$_SESSION['persona']))
    include (
"menu.inc");
   else
    include (
"menuempresa.inc");
 } 
y esto en entrar.php que es donde compruebo que el usuario y la password exista

Código PHP:
$nombre=$_POST["nomb"];
$password=$_POST["passwd"];
$dni=$_POST["dni"];

$conex=mysql_connect("localhost","root","");
$bdselect=mysql_select_db("videoempleo");

$sql="select nombre, password, dni from usuarios where nombre='$nombre' and password='$password' and dni='$dni'";
echo 
$sql;
$resultmysql_query($sql);
$num_rows=mysql_num_rows($result);

if(
$num_rows == "null")
      echo 
"Datos incorrectos <a href='home.php'>Ir atr&aacute;s</a>";


else
{
    
      
$sql2="select rol from usuarios where nombre='$nombre' and password='$password' and dni='$dni'";

      
$result2=mysql_query($sql2);
      
      if (
$result2 == "empresa")
      {  
        
session_register('empresa');
        
header('Location: home.php');
      }
      
      else
      {
       
       echo 
$sql;
       
session_register('persona');
       
header('Location: home.php');

     }

pero no tira cara al aire, a ver si alguien me puede echar un cable

Salu2!
  #2 (permalink)  
Antiguo 06/03/2010, 12:23
 
Fecha de Ingreso: febrero-2009
Mensajes: 580
Antigüedad: 15 años, 2 meses
Puntos: 13
Respuesta: Login con sesiones y cambiando menu

Prueba Asi

Código PHP:

if (isset($_SESSION['persona']) | isset($_SESSION['empresa'])){
   if (isset(
$_SESSION['persona']))
    include (
"menu.inc");
   else
    include (
"menuempresa.inc");
 }else{
 include(
"menuinvitado.inc");

__________________
¿ya conoces la red social de cocina? descubre y comparte recetas de cocina
TONIWEB, un programador web freelance
  #3 (permalink)  
Antiguo 06/03/2010, 13:16
 
Fecha de Ingreso: marzo-2010
Mensajes: 35
Antigüedad: 14 años, 1 mes
Puntos: 1
Respuesta: Login con sesiones y cambiando menu

sigue sin ir. El problema creo que viene de entrar.php cuando hago lo del session_register o algo porque si pongo un dato erroneo, que no existe en la db si que me muestra el mensaje de Datos incorrectos. Pero si es correcto no hace absolutamente nada.

Gracias de todas formas!
  #4 (permalink)  
Antiguo 06/03/2010, 18:34
 
Fecha de Ingreso: marzo-2010
Mensajes: 35
Antigüedad: 14 años, 1 mes
Puntos: 1
Respuesta: Login con sesiones y cambiando menu

¿Nadie? xd
  #5 (permalink)  
Antiguo 06/03/2010, 20:19
Avatar de Most  
Fecha de Ingreso: marzo-2009
Mensajes: 642
Antigüedad: 15 años, 1 mes
Puntos: 6
Respuesta: Login con sesiones y cambiando menu

no se si te entendido pero si klo k kieres es k al iniciar sesion 1 user salga otra cosas en el menu haz esto:

(el codigo del menu ponlo entre medias de esto)

para invitado:

Código PHP:
<?php if(! isset($_COOKIE['persona'])) { ?>
AQUI EL CODIGO
<?php ?>
para usuario:

Código PHP:
<?php if(isset($_COOKIE['persona'])) { ?>
AQUI EL CODIGO
<?php ?>
  #6 (permalink)  
Antiguo 06/03/2010, 20:26
Avatar de Mahishasura  
Fecha de Ingreso: enero-2010
Ubicación: En las profundidades del cosmos
Mensajes: 58
Antigüedad: 14 años, 3 meses
Puntos: 4
Respuesta: Login con sesiones y cambiando menu

Código PHP:
Ver original
  1. if (!isset($_SESSION['persona']) && !isset($_SESSION['empresa'])){
  2.    include("menuinvitado.inc"); }  
  3. elseif (isset($_SESSION['persona'])){
  4.     include ("menu.inc");}
  5. elseif(isset($_SESSION['empresa'])){
  6.     include ("menuempresa.inc");
  7.  }

Código PHP:
Ver original
  1. if($num_rows == "null"){
  2.       echo "Datos incorrectos <a href='home.php'>Ir atr&aacute;s</a>";
  3. } else {    
  4.       $sql2="SELECT rol FROM usuarios WHERE nombre='$nombre' AND password='$password' AND dni='$dni'";
  5.       $result2=mysql_query($sql2);
  6.      
  7.  if ($result2 == "empresa"){  
  8.         session_register('empresa');
  9.         header('Location: home.php');
  10.       }else {      
  11.        echo $sql;
  12.        session_register('persona');
  13.        header('Location: home.php');
  14.      }
  15. }
  #7 (permalink)  
Antiguo 07/03/2010, 05:44
 
Fecha de Ingreso: marzo-2010
Mensajes: 35
Antigüedad: 14 años, 1 mes
Puntos: 1
Respuesta: Login con sesiones y cambiando menu

Ya funciona. Ahora luego pongo el código por si alguien esta en la misma situación, el problema era que no definia bien las sessiones cuando validaba al usuario

Última edición por josemota; 07/03/2010 a las 06:33

Etiquetas: login, sesiones, cambios
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 01:02.