Inicio de sesion php

Iniciado por Darui803, 28 Julio 2015, 03:10 AM

0 Miembros y 1 Visitante están viendo este tema.

Darui803

Buenas compañeros.
Tengo una duda necesito hacer un login.
El login solo pedirá el nombre de usuario, al ingresarlo lo que necesitaría es que verifique en la base de datos a que sector pertenece ese usuario. Ejemplo el usuario jose es estudiante entonces ingresa su nombre "jose" y sera redireccionado a la pagina estudiante pero si el que quiere ingresar es un profesor con solo el nombre me redireccione a la pagina de profesores.

la base de datos tiene varios campos pero creo que los que importan son User y Sector.

No pido codigo solo pido una explicacion gracias.

engel lex

supongamos que la base de datos es

|nombre|password|sector

sector es "alumno" o "profesor"

supongamos que el action es login.php

allí el codigo sería algo como

Código (php) [Seleccionar]
//leer base de datos y sacar el sector
if($sector=='alumno'){
  header ("Location: pagina_alumno.php")
}else if($sector=='profesor'){
  header ("Location: pagina_profesor.php")
}

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

DarK_FirefoX

#2
No se si lo que quieres hacer sea del todo "adecuado", pero bueno, de lo que entendí:

Tienes que hacer una consulta a la base de datos, seleccionando el campo "Sector" y "User" (Si vas a hacer algo con el nombre [como "Hola, Jose"]). donde el campo "User" sea igual al "textoDelInput" (nombre de usuario insertado).

Luego que tengas al "Sector" al cual pertenece dicho "User" puedes hacer el redireccionamiento correspondiente.

Para almacenar a que página redirecciona cada "Sector" puedes almacenarlo en un array asociativo.

Espero mi explicación te haya servido de algo.

Salu2s

PD: Ten en cuenta que siempre puede haber un "Profesor" que tenga el mismo nombre que un "Estudiante". Debes manejar esto para evitar conflictos

Darui803

muchas gracias :3 pero como aria si necesito validar que el nombre de usuario existe en la bd?

DarK_FirefoX

Cita de: Darui803 en 28 Julio 2015, 16:00 PM
muchas gracias :3 pero como aria si necesito validar que el nombre de usuario existe en la bd?

:huh:

Suponiendo que estés utilizando la extensión mysqli

Código (php) [Seleccionar]

$user_name = "Kirito";
$query = "SELECT Sector FROM table WHERE User = '$user_name'";
$result = $connection->query($query);

if(mysqli_num_rows($result))
{
//El usuario existe
}
else
{
//El usuario no existe
}


Ten en cuenta, que estoy asumiendo que solo puede haber un usuario con el mismo nombre. Y para validar que sea único lo haces a la hora de registrarse. Aunque este diseño de la base de datos a mi entender está incorrecto, pues fácilmente pueden haber dos, tres o más personas con el mismo nombre, en el mismo o en diferente Sector

mysqli_num_rows() te devuelve el número de filas resultante en la consulta. En caso de que sea 1, entonces el usuario existe.

Espero haberte ayudado.

Salu2s