sql >> Base de Datos >  >> RDS >> Mysql

iniciar sesión como usuario o administrador desde 2 tablas diferentes

Debe especificar ambas tablas con el email columna:

SELECT * 
FROM sollicitant, bedrijf 
WHERE sollicitant.email = '$inputEmail' 
AND bedrijf.email = '$inputEmail'

Otra posibilidad es usar un JOIN explícito con alias (los alias son solo para acortar las cosas, no es necesario que los use):

SELECT *
FROM sollicitant s, bedrijf b
ON s.email = b.email
WHERE s.email = '$inputEmail' 

Hacer esto significa que solo tiene que dar cuenta del correo electrónico en una columna de una tabla como JOIN se asegura de obtener solo aquellas filas que tengan un correo electrónico coincidente. Si la consulta está vacía el email no existe en ambos.

Editar

Si desea decidir adónde ir en función de la función de un usuario, debe consolidar a todos los usuarios en una tabla que tenga una columna que delinee la función del usuario:

SELECT * FROM users WHERE email = '$inputEmail' 

Luego, el PHP una vez que haya obtenido los datos:

if('sollicitant' == $row['role']) {
    header('Location: sollicitant.php');
    exit();
} elseif ('bedrijf' == $row['role']) {
    header('Location: befrijf.php');
    exit();
} else {
    echo 'There is a problem with your login.';
}        

¡Advertencia!

...como otros han dicho...

Pequeño Bobby dice tu script está en riesgo de sufrir ataques de inyección SQL. . Incluso escapando de la cadena ¡no es seguro!

Odio cuando la gente dice "No estoy tan avanzado..." o "Este sitio no será público..." o "Es solo para la escuela, así que la seguridad no importa..." . Si los maestros y profesores no están hablando de seguridad desde el primer día, lo están haciendo mal. Desafíelos. Están enseñando prácticas de codificación descuidadas y peligrosas que los estudiantes tendrán que desaprender más tarde. También odio cuando la gente dice:"Agregaré seguridad más tarde..." o "La seguridad no es importante ahora..." o "Ignorar el riesgo de seguridad..." .

¡Nunca almacene contraseñas de texto sin formato! Utilice PHP funciones integradas para manejar la seguridad de la contraseña. Si está utilizando una versión de PHP inferior a 5.5, puede utilizar password_hash() paquete de compatibilidad . No es necesario contraseñas de escape o use cualquier otro mecanismo de limpieza en ellos antes del hashing. Hacerlo cambia la contraseña y provoca una codificación adicional innecesaria.