13946 visitas 4 respuestas

INICIO DE SESION CON PHP

<?php $base="trabajos_grado"; $tabla="usuarios"; $log=$_POST["usuario"]; $pas=$_POST["clave"]; $tipo=$_POST["tipo"]; $conexion=mysql_connect("Localhost","root",""); mysql_select_db($base,$conexion); if($tipo=="administrador"){ $sql=("SELECT cedula_usuario,nombre_usuario,apellidos_usuario,email_usuario,login,password,rol FROM $tabla WHERE login='$log' AND password='$pas' AND rol='$tipo' ORDER BY nombre_usuario;"); if($res=mysql_db_query($base,$sql,$conexion)){ $num=mysql_num_rows($res); if($num==0){ echo''; } else{ $_SESSION['nom']=$log; $_SESSION['sesion']="Administrador"; $reg=mysql_fetch_array($res); $id=$reg[0]; $nom=$reg[1]; $ape=$reg[2]; $tit=$reg[3]; $e_mail=$reg[4]; echo''; exit; } } } else{ $sql=("SELECT cedula_usuario,nombre_usuario,apellidos_usuario,email_usuario,login,password,rol FROM $tabla WHERE login='$log' AND password='$pas' AND rol='$tipo' ORDER BY nombre_usuario;"); if($res=mysql_db_query($base,$sql,$conexion)){ $num=mysql_num_rows($res); if($num==0){ echo''; } else{ $_SESSION['nom']=$log; $_SESSION['sesion']="Secretaria"; $reg=mysql_fetch_array($res); $id=$reg[0]; $nom=$reg[1]; $ape=$reg[2]; $tit=$reg[3]; $e_mail=$reg[4]; echo''; } } } mysql_close($conexion); ?>

por carlosweb desde Colombia

Registrado desde: 27 Oct 07

Respuestas

Lo que yo hago es con el nombre de usuario y la contraseña recupero datos como Tipo, Estado y otros que manejo.

y luego al recuperar estos datos comparo el tipo y dependiendo de este lo mando a un menu diferente.

require ("conexion.php");

$miconexion = new DB_mysql();
if( $miconexion->conectar() )
{    
     if ( $miconexion->consultar("select * from tbadministrador where admLogin='".$_POST['login']."' and admPassword='".$_POST['password']."' ") )//seleciona la informacion del usuario de la tabla administrador
        {    
         if ( $miconexion->numregistros() )
        {                                      
                          while ($row = mysql_fetch_row($miconexion->Consulta_ID)) 
             {                    
                        $admlogin = $row[3];//obtengo el logina
                        $admpassword = $row[4];//password
                        $admestado = $row[9];//estado del usuario
                        $admtipo = $row[8];//tipo de usuario
                        $admcampus = $row[10];//campus al que pertence el usuario
             }

                 session_start();
                      $_SESSION['autentificado']="SI";//creo una variable de session de autenticacion
                      $_SESSION['tipo']=$admtipo;//una variable de sesion con el tipo de usuario
                      $_SESSION['campus']=$admcampus;// y una variable de session con el campus de usuario 

       if( $admlogin==$HTTP_POST_VARS['login'] && $admpassword==$HTTP_POST_VARS['password'] && $admestado=="h" && $admtipo=="s"  )//comparo si el usuario es de tipo superadministrador "s" y si esta habilitado"h"
             {
                header("Location: menuadmor.php");//va al menu de super administrador                              
             }
       if( $admlogin==$HTTP_POST_VARS['login'] && $admpassword==$HTTP_POST_VARS['password'] && $admestado=="h" && $admtipo=="a"  )//comparo si el usuario es de tipo adminsitrador "a" y si esta habilitado"h"
             {
                header("Location: menuAdmorcam.php");//va al menu de administrador                              
             }

       if( $admlogin==$HTTP_POST_VARS['login'] && $admpassword==$HTTP_POST_VARS['password'] && $admestado=="h" && $admtipo=="o"  )//comparo si el usuario es de tipo operario "o" y si esta habilitado"h"
                 {                       
                  header("Location: menuOperativo.php");//va al menu de operario        
                 } 

         else{
                     echo  "Nombre de Usuario Incorrecto","<BR>","Verifique MAYÚSCULAS y minúsculas.","<br><br><br>";
             echo "<a href='inicio.php'><< Regresar</a>";
                   }

        $miconexion->cerrarConexion();
             $miconexion->liberarResult();

        }
        else
              echo  $miconexion->Error;                                 
    }
    else
        echo  $miconexion->Error;
}
else
    echo  $miconexion->Error;
0

por ji7o desde Colombia

Registrado desde: 11 Nov 06
log pass

0

por Mori desde España

Registrado desde: 06 Nov 07

Nada, que sigo intentándolo pero no hay forma de dar con la tecla.

¿De veras nadie sabe qué tendría que modificar? Jo...

0

por Mori desde España

Registrado desde: 06 Nov 07

Hola el detalle con tu codigo esta en esta parte $MM_fldUserAuthorization = "nivel"; ya que antes de la consulta create un juego de registro, y colocarlo asi chequea este codigo y veras donde esta el detalle: ya lo prove y esta buenisimo si quieres copia mi correo y me envias tus consultas quizas tambien me ayudes: <?php require_once('Connections/sistema.php'); ?> <?php if (!function_exists("GetSQLValueString")) { function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") { $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;

$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

switch ($theType) {

case "text":
  $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
  break;    
case "long":
case "int":
  $theValue = ($theValue != "") ? intval($theValue) : "NULL";
  break;
case "double":
  $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
  break;
case "date":
  $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
  break;
case "defined":
  $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
  break;

} return $theValue; } }

$colname_loging = "-1"; if (isset($_POST['usuario'])) { $colname_loging = $_POST['usuario']; } mysql_select_db($database_sistema, $sistema); $query_loging = sprintf("SELECT usuario, clave, nivel FROM usuario WHERE usuario = %s", GetSQLValueString($colname_loging, "text")); $loging = mysql_query($query_loging, $sistema) or die(mysql_error()); $row_loging = mysql_fetch_assoc($loging); $totalRows_loging = mysql_num_rows($loging); ?> <?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=md5($_POST['clave']); $MM_fldUserAuthorization = "row_loging['nivel']"; $MM_redirectLoginSuccess = "index.php"; $MM_redirectLoginFailed = "login.php"; $MM_redirecttoReferrer = false; mysql_select_db($database_sistema, $sistema);

$LoginRS__query=sprintf("SELECT usuario, clave FROM usuario WHERE usuario=%s AND clave=%s",

GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text")); 

$LoginRS = mysql_query($LoginRS__query, $sistema) or die(mysql_error()); $loginFoundUser = mysql_num_rows($LoginRS); if ($loginFoundUser) {

 $loginStrGroup = "";

//declare two session variables and assign them
$_SESSION['MM_Username'] = $loginUsername;
$_SESSION['MM_UserGroup'] = $loginStrGroup;          

if (isset($_SESSION['PrevUrl']) && false) {
  $MM_redirectLoginSuccess = $_SESSION['PrevUrl'];    
}
    switch($row_loging['nivel'])
    {
    case "administrador": header("Location: admin/panel.php");
    break;
    case "usuario": header("Location: consulta.php");
    break;
  }
    }else {
header("Location: ". $MM_redirectLoginFailed );

} } ?> claro suponiendo que tienes un campo llamado usuario para el id y un campo llamado clave para el pass y ademas en la tabla de la base de datos tener los campos usuario, clave y nivel. bueno espero porde ayudarte con eso.... a mi mesisrvio ese codigo

0

por elgato801 desde Venezuela

Registrado desde: 13 May 09

o busca en nuestros foros