Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => PHP => Mensaje iniciado por: Darui803 en 28 Julio 2015, 03:10 AM

Título: Inicio de sesion php
Publicado por: Darui803 en 28 Julio 2015, 03:10 AM
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.
Título: Re: Inicio de sesion php
Publicado por: engel lex en 28 Julio 2015, 03:28 AM
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")
}

Título: Re: Inicio de sesion php
Publicado por: DarK_FirefoX en 28 Julio 2015, 03:35 AM
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
Título: Re: Inicio de sesion php
Publicado por: 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?
Título: Re: Inicio de sesion php
Publicado por: DarK_FirefoX en 28 Julio 2015, 18:18 PM
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