Foros del Web » Programando para Internet » PHP »

Comparación en un login

Estas en el tema de Comparación en un login en el foro de PHP en Foros del Web. Hola buenas tardes, espero pueda ayudarme, trabajo en una pagina web con dreamweaver, php y mysql en un servidor local, lo que deseo hacer es ...
  #1 (permalink)  
Antiguo 18/12/2012, 12:12
 
Fecha de Ingreso: diciembre-2012
Ubicación: Mexico
Mensajes: 28
Antigüedad: 11 años, 4 meses
Puntos: 0
Pregunta Comparación en un login

Hola buenas tardes, espero pueda ayudarme, trabajo en una pagina web con dreamweaver, php y mysql en un servidor local, lo que deseo hacer es que cuando los usuarios se registran en la pagina, en un formulario de registro llenan los campos de: USUARIO, CONTRASEÑA y un select que tiene los valores de: MAESTRO y ALUMNO, entre otros datos (pero esos 3 datos son los que mas importan).

quisiera saber como puedo hacer, ya estando registrados y la información guardada en la base de datos, a la hora que van a iniciar sesion, cuando pongan su USUARIO Y CONTRASEÑA en los textbox al darle al boton de INICIAR se comparen esos dos campos con lo que hayan puesto en el select en la base de datos: SI ES MAESTRO envie a la seccion de maestros, SI ES ALUMNO envie a la seccion de alumnos.

Espero me aya explicado y puedan ayudarme.
  #2 (permalink)  
Antiguo 18/12/2012, 14:55
Avatar de DeivisAndres  
Fecha de Ingreso: febrero-2012
Ubicación: Colombia
Mensajes: 305
Antigüedad: 12 años, 2 meses
Puntos: 41
De acuerdo Respuesta: Comparación en un login

podrías poner por donde estas quedado, pero puedes realizar un swith, simplemente sacas el rol o rango (como lo tengas en la base de datos y lo comparas):

Código PHP:
Ver original
  1. switch ($rol){
  2.  case 'MAESTRO':
  3.   header('Location: maestro.php');
  4.   break;
  5.  case 'ALUMNO':
  6.   header('Location: alumno.php');
  7.   break;
  8. }
  #3 (permalink)  
Antiguo 20/12/2012, 14:33
 
Fecha de Ingreso: diciembre-2012
Ubicación: Mexico
Mensajes: 28
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: Comparación en un login

Hola amigo deivisAndres muchas gracias por contestar, sinceramente amigo comienzo en la programación, si medio logro entender lo que me pusiste en tu respuesta, pero si por favor pudieras hacerme un poco mas claro el codigo, como desde donde empezar, se que esto no se trata de regalar codigo, si no de ayudar y es lo que quisiera porfavor con algun ejemplo.

En el codigo que me pusiste, lo que esta dentro del switch q mandas a llamar en esa variable?

Espero y puedas ayudarme, muchas gracias
  #4 (permalink)  
Antiguo 20/12/2012, 14:56
Avatar de DeivisAndres  
Fecha de Ingreso: febrero-2012
Ubicación: Colombia
Mensajes: 305
Antigüedad: 12 años, 2 meses
Puntos: 41
Respuesta: Comparación en un login

Muéstrame tu código donde tu comparas el usuario para que inicie sesión para ponerlo desde el tuyo.
  #5 (permalink)  
Antiguo 23/12/2012, 14:35
 
Fecha de Ingreso: diciembre-2012
Ubicación: Mexico
Mensajes: 28
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: Comparación en un login

Hola DaivisAndres disculpa la demora de mi respuesta, esque tuve unos problemas.

Acontinuacion te pongo lo que tengo de codigo

Código PHP:
function conexiones($usario,  $clave){
$conectar mysql_connect('localhost','root','');
mysql_select_db($conectar);
$sql = ("select * FROM `recidencias`.`usuarios` WHERE `Nusuario`='$usuario' AND `contraseña`='$clave'");
$ejecutar_sql=mysql_query($sql,$conectar);

if(
$N=mysql_num_rows($ejecutar_sql)!=0){
$ID=$N[0];
$_SESION['Nombre']=$usuario;
}
}

funtion verificar_usuario(){
sesion_sstart();
if(
$_SESION['Nombre']){
}

  #6 (permalink)  
Antiguo 26/12/2012, 07:24
Avatar de DeivisAndres  
Fecha de Ingreso: febrero-2012
Ubicación: Colombia
Mensajes: 305
Antigüedad: 12 años, 2 meses
Puntos: 41
Respuesta: Comparación en un login

me tarde pero aquí lo tienes:

Código PHP:
Ver original
  1. function conexiones($usario,  $clave){
  2.     $conectar = mysql_connect('localhost','root','');
  3.     mysql_select_db($conectar);
  4.     $sql = ("select Nusuario, contraseña, rango FROM `recidencias`.`usuarios` WHERE `Nusuario`='$usuario' AND `contraseña`='$clave'");
  5.     $ejecutar_sql=mysql_query($sql,$conectar);
  6.  
  7.     if($N=mysql_num_rows($ejecutar_sql)!=0){
  8.         $ID = $N[0];
  9.         $_SESION['Nombre'] = $N['Nusuario'];
  10.         $rol = $N['rango'];
  11.         switch ($rol){
  12.             case 'MAESTRO':
  13.                 header('Location: maestro.php');
  14.                 break;
  15.             case 'ALUMNO':
  16.                 header('Location: alumno.php');
  17.                 break;         
  18.         }
  19.     }
  20. }
  #7 (permalink)  
Antiguo 26/12/2012, 19:27
 
Fecha de Ingreso: diciembre-2012
Ubicación: Mexico
Mensajes: 28
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: Comparación en un login

Hola amigo DeivisAndres muchas gracias por darme tu respuesta, es buena y si funciona muchas gracias, pero no hace un inicio de sesión ya hace la funcion directamente mira te muestro a continuación el codigo que tengo, el unico inconveniente que tengo es que el if no me esta jalando los datos, me estan jalando hasta el else y este manda a un archivo que se llama ingresos.php y este ya me manda a la pagina de alumnos y lo que deseo es que con el codigo que te muestro abajo identifique si es maestro o alumno para redireccionarlo a donde corresponde, espero puedas ayudarme a corregir este error por favor

Código PHP:
<?php
$N
=$_POST['usu'];


$conectar mysql_connect("localhost""root""");
mysql_select_db("recidencias"$conectar) or die ("problemas al conectar" .mysql_error());
$resultado "SELECT usuarios.Nusuario , usuarios.Contraseña , usuarios.Id from usuarios WHERE usuarios.Nusuario='".$_POST['usu']."'";


        
    
$result mysql_query($resultado,$conectar);
      
    if (
$registro mysql_fetch_row($result)){
 
/*echo "Factura:".$registro[0]."<br /> Cantidad:".$registro[1]."<br />Nombre:".$registro[2]."<br/> Empresa:".$registro[3]."<br /> -----------------<br />";*/
    
$E1$registro[0];
    
$E2$registro[1];
    
$E3$registro[2];

            
    }
    else { 
    
    }
    
?>
  #8 (permalink)  
Antiguo 27/12/2012, 07:55
Avatar de DeivisAndres  
Fecha de Ingreso: febrero-2012
Ubicación: Colombia
Mensajes: 305
Antigüedad: 12 años, 2 meses
Puntos: 41
De acuerdo Respuesta: Comparación en un login

La verdad no te comprendo lo que me quieres decir, pero si me dices que lo que te pase te funciona bien entonces no entiendo de lo que me dices que: "lo que deseo es que con el código que te muestro abajo identifique si es maestro o alumno para redireccionar lo a donde corresponde, espero puedas ayudarme a corregir este error por favor" si lo que te puse hace lo mismo que tu quieres sacar el rol o rango del usuario para compararlo dentro del switch y en caso de que sea maestro te redirecciona a la pagina de maestro pero si en caso que sea alumno lo redirecciona a la pagina de alumnos.

Y aparte de eso veo que en tu tabla usuario no noto que tengas un campo que se llame rol o rango solo noto que tienes 3 campos llamados: Nusuario, Contraseña y Id. ¿ La pregunta es en donde esta el campo de ROL ó RANGO o es la Id que noto en la tabla ?

Bueno por que no pruebas esto para ver si te funciona, lo que realice fue agregarte el campo usuarios.Rol pero si el usuarios.Id es el que utilizas para decidir cual de usuario es de tipo maestro o alumno pues quita el que puse y tambien veo que no comparas la contraseña que digita el usuario a iniciar sesion asi que también te agregue otro campo mas $NC = $_POST['password'] y (AND usuarios.Contraseña = '$NC'):

Código PHP:
Ver original
  1. <?php
  2.     $N = $_POST['usu'];
  3.     $NC = $_POST['password'];
  4.     $conectar = mysql_connect("localhost", "root", "");
  5.     mysql_select_db("recidencias", $conectar) or die ("problemas al conectar" .mysql_error());
  6.     $resultado = "SELECT usuarios.Nusuario , usuarios.Contraseña , usuarios.Id, usuarios.Rol FROM usuarios WHERE usuarios.Nusuario='$N' AND usuarios.Contraseña = '$NC'";        
  7.     $result = mysql_query($resultado, $conectar);
  8.     $registro = mysql_fetch_array($result);
  9.     try{
  10.         if ($registro['username'] == $N && $registro['password'] == $NC){
  11.             /*echo "Factura:".$registro[0]."<br /> Cantidad:".$registro[1]."<br />Nombre:".$registro[2]."<br/> Empresa:".$registro[3]."<br /> -----------------<br />";*/          
  12.             $E1= $registro[0];
  13.             $E2= $registro[1];
  14.             $E3= $registro[2];
  15.             $E4= $registro[3];
  16.            
  17.             switch ($E4){
  18.                 case 'MAESTRO':
  19.                     header('Location: maestro.php');
  20.                     break;
  21.                 case 'ALUMNO':
  22.                     header('Location: alumno.php');
  23.                     break;          
  24.             }
  25.         }
  26.         else {  
  27.             echo 'El usuario o contraseña son incorrectos';
  28.         }
  29.     }
  30.     catch (Exception $error){
  31.     }
  32. ?>

Etiquetas: Ninguno
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 04:16.