sql >> Databáze >  >> RDS >> Mysql

přihlášení jako uživatel nebo admin ze 2 různých tabulek

Obě tabulky musíte zadat pomocí email sloupec:

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

Další možností je použití explicitního JOIN s aliasem' (Alias' jsou jen pro zkrácení věcí, nemusíte je používat.):

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

To znamená, že musíte eamil uvést pouze v jednom sloupci jedné tabulky jako JOIN zajišťuje, že dostanete pouze ty řádky, které mají odpovídající e-mail. Pokud je dotaz prázdný, e-mail v obou neexistuje.

Upravit

Pokud se chcete rozhodnout, kam jít na základě role uživatele, měli byste všechny uživatele sloučit do jedné tabulky se sloupcem, který vymezuje roli uživatele:

SELECT * FROM users WHERE email = '$inputEmail' 

Poté PHP, jakmile načtete data:

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.';
}        

Upozornění!

...jak říkali ostatní...

Malý Bobby říká váš skript je ohrožena útoky SQL Injection. . Dokonce i uniknutí řetězce není bezpečné!

Nesnáším, když lidé říkají „Nejsem tak daleko...“ nebo „Tento web nebude veřejný...“ nebo "Je to jen pro školu, takže na bezpečnosti nezáleží..." . Pokud učitelé a profesoři nemluví o bezpečnosti od prvního dne, dělají to špatně. Vyzvěte je. Učí nedbalé a nebezpečné praktiky kódování, které se studenti budou muset později naučit. Také nesnáším, když lidé říkají:„Zabezpečení přidám později...“ nebo „Zabezpečení teď není důležité...“ nebo "Ignorujte bezpečnostní riziko..." .

Nikdy neukládejte hesla ve formátu prostého textu! Použijte prosím vestavěné funkce PHP zvládnout zabezpečení heslem. Pokud používáte verzi PHP nižší než 5.5, můžete použít password_hash() balíček kompatibility . Není nutné únik hesel nebo na ně před hashováním použijte jakýkoli jiný čisticí mechanismus. Tím se změní heslo a způsobuje zbytečné dodatečné kódování.




  1. Jak zlepšit výkon INSERT na velmi velké tabulce MySQL

  2. jak vložit aktuální datum do pole DATE ve formátu dd/mm/rrrr v oracle

  3. Jak nainstalovat MySQL 8 na Ubuntu

  4. MariaDB Connector/Python Beta nyní k dispozici