Foros del Web » Programando para Internet » PHP »

Dudas (Ayuda) con inicio de sesión en PHP

Estas en el tema de Dudas (Ayuda) con inicio de sesión en PHP en el foro de PHP en Foros del Web. Hola foreros, tengo un problemilla, tengo una aplicacion donde los usuarios deben iniciar sesion, y dependiendo de su nivel lo envian a alguna pagina y ...
  #1 (permalink)  
Antiguo 13/03/2009, 10:07
 
Fecha de Ingreso: diciembre-2008
Ubicación: http://www.solucionesrios.tk/
Mensajes: 413
Antigüedad: 15 años, 11 meses
Puntos: 19
Dudas (Ayuda) con inicio de sesión en PHP

Hola foreros, tengo un problemilla, tengo una aplicacion donde los usuarios deben iniciar sesion, y dependiendo de su nivel lo envian a alguna pagina y otra, por ejemplo

Usuario Administrador
Usuario: Administrador
Clave: XXXXXXXX
Nivel: 1

Debe ir a la pagina "inicio.php"

Usuario solo Consulta
Usuario: Prueba
Clave: XXXXXXXXX
Nivel: 2

Debe ir a la pagina "inicio_1.php"

Ya solo he logrado entrar con Administrador pero no como consulta, a continuacion les pego el codigo que tengo para que me ayuden, no hayo donde poner el condicional que si es 2 lo envi a inicio_1.php

Código PHP:
<?php
// *** Validate request to login to this site.
if (!isset($_SESSION)) {
  
session_start();
}

$loginFormAction $_SERVER['PHP_SELF'];
if (isset(
$_GET['accesscheck'])) {
  
$_SESSION['PrevUrl'] = $_GET['accesscheck'];
}

if (isset(
$_POST['usuario'])) {
  
$loginUsername=$_POST['usuario'];
  
$password=$_POST['textfield'];
  
$MM_fldUserAuthorization "nivel";
  
$MM_redirectLoginSuccess "inicio.php";
  
$MM_redirectLoginSuccess2 "inicio_1.php";
  
$MM_redirectLoginFailed "index.php";
  
$MM_redirecttoReferrer true;
  
mysql_select_db($database_activos$activos);
      
  
$LoginRS__query=sprintf("SELECT usuario, clave, nivel FROM usuarios WHERE usuario=%s AND clave=%s",
  
GetSQLValueString($loginUsername"text"), GetSQLValueString($password"text")); 
   
  
$LoginRS mysql_query($LoginRS__query$activos) or die(mysql_error());
  
$loginFoundUser mysql_num_rows($LoginRS);
  if (
$loginFoundUser) {
    
    
$loginStrGroup  mysql_result($LoginRS,0,'nivel');
    
    
//declare two session variables and assign them
    
$_SESSION['MM_Username'] = $loginUsername;
    
$_SESSION['MM_UserGroup'] = $loginStrGroup;          

    if (isset(
$_SESSION['PrevUrl']) && true) {
      
$MM_redirectLoginSuccess $_SESSION['PrevUrl'];    
    }
    
header("Location: " $MM_redirectLoginSuccess );
  }
  else {
    
header("Location: "$MM_redirectLoginFailed );
  }
}
?>
Esperando su acostumbrada ayuda me despido.
  #2 (permalink)  
Antiguo 13/03/2009, 10:11
 
Fecha de Ingreso: febrero-2009
Mensajes: 47
Antigüedad: 15 años, 9 meses
Puntos: 2
Respuesta: Dudas (Ayuda) con inicio de sesión en PHP

Mira este funciona a la perfeccion .. solo tienes que editarlo a tus condiciones!!!
Código PHP:
<?php

session_start
();
include(
"../componentes/conexion.php");
extract($_POST);
$conexion=conectar();
if (!
$conexion)
echo 
'<script>alert("conexion no realizada");parent.location="../scripts/error.php"</script>';
    
 else
 {

        
$txtced=trim($txtced);
        
$txtpw=trim($txtpw);
        
        
$consulta="select ced, tipo_usuario, estado, cod_usuario, cod_seccion, contrasena from usuario, tipo_usuario where usuario.cedula='$txtced' and usuario.contrasena='$txtpw' and  (tipo_usuario.tipo_usuario='1' or tipo_usuario.tipo_usuario='2' or tipo_usuario.tipo_usuario='3') and estado='1'";
        
$ejecutar=pg_exec($conexion,$consulta);
        
$registro=pg_fetch_array($ejecutar);
                    
        if (
$registro==NULL) {
        
///----------Auditoria--------
            
$cod_usu=0;
            
$cod_seccion=000000;
            
$fecha=date("Y-m-d");
            
$mod="Intento ingreso: ".$txtced.'-'.$txtpw
            
$des="Intento de Inicio de Sesion";
            
$tab="Intento de Inicio de Sesion";            
$audi "INSERT INTO auditoria (cod_usuario, cod_seccion, fecha, modifica, tabla, descripcion) VALUES ('".$cod_usu."','".$cod_seccion."','".$fecha."', '".$mod."', '".$tab."','".$des."')";    
$resulta pg_exec($conexion,$audi);
            echo 
'<script>alert("Usuario No Vàlido");parent.location="../scripts/error.php"</script>';
           }
           
         else{
        
        
         
$_SESSION["administrador"]=$registro["ced"]; 
         
$_SESSION["cod_usuario"]=$registro["cod_usuario"];
         
$_SESSION["cod_seccion"]=$registro["cod_seccion"]; 
         
$_SESSION["ultimoacceso"]=date("Y-n-j H:i:s");
         
$_SESSION["codigo_tipo"]=$registro["tipo_usuario"];
         
         
///----------Auditoria--------
            
$cod_usu=$_SESSION["cod_usuario"];
            
$cod_seccion=$_SESSION["cod_seccion"];
            
$fecha=date("Y-m-d");
            
$des="Inicio Sesion";        
$audi "INSERT INTO auditoria (cod_usuario, cod_seccion, fecha, descripcion) VALUES ($cod_usu , $cod_seccion,'$fecha','$des')";    
$resulta pg_exec($conexion,$audi);

         if (
$registro["tipo_usuario"]==1)
                            {
                            
                            
$_SESSION["administrador"]=$registro["ced"];
                            echo 
"<script>window.location='../scripts/admon_menu.php'
                            </script>"
;
                                                        }
            else if (
$registro["tipo_usuario"]==2)
                            {
                            
$_SESSION["administrador"]=$registro["ced"]; 
                            echo 
"<script>window.location='../scripts/admon_menu.php'
                            </script>"
;
                            
                            }
                    else if (
$registro["tipo_usuario"]==3)
                            {
                            
$_SESSION["administrador"]=$registro["ced"]; 
                            echo 
"<script>window.location='../scripts/admon_menu.php';</script>";
                            }
                            
         
         }  
 }
         
             
?>
  #3 (permalink)  
Antiguo 13/03/2009, 10:27
Avatar de lisandro Arg  
Fecha de Ingreso: octubre-2003
Ubicación: Cordoba, Argentina
Mensajes: 945
Antigüedad: 21 años, 1 mes
Puntos: 24
Respuesta: Dudas (Ayuda) con inicio de sesión en PHP

Pues y donde redireccionas..
Código php:
Ver original
  1. header("Location: " . $MM_redirectLoginSuccess );
Ahí evaluas a que grupo pertenece y redireccionas
Código php:
Ver original
  1. if($loginStrGroup==1)
  2. {
  3.    header("Location: " . $MM_redirectLoginSuccess );
  4. }elseif($loginStrGroup==2){
  5.    header("Location: " . $MM_redirectLoginSuccess2 );
  6. }else{
  7.    // Ohoo !, no es ni 1 ni 2 !
  8. }
  #4 (permalink)  
Antiguo 13/03/2009, 12:41
 
Fecha de Ingreso: diciembre-2008
Ubicación: http://www.solucionesrios.tk/
Mensajes: 413
Antigüedad: 15 años, 11 meses
Puntos: 19
Respuesta: Dudas (Ayuda) con inicio de sesión en PHP

Gracias amigos ya lo logre gracias a su ayuda, de verdad me estaba ahogando en un vaso de agua.
  #5 (permalink)  
Antiguo 13/03/2009, 13:58
Avatar de argy  
Fecha de Ingreso: octubre-2007
Ubicación: Longitud 75º Latitud 18º Sur
Mensajes: 614
Antigüedad: 17 años
Puntos: 18
Respuesta: Dudas (Ayuda) con inicio de sesión en PHP

después del header acostumbra a utilizar exit; es buena manera de que no se ejecutará más código.

suerte.
__________________
Software libre para un mundo libre.

Eventualmente en el foro.
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 14:05.