Mysql
 sql >> Baza danych >  >> RDS >> Mysql

logowanie jako użytkownik lub administrator z 2 różnych tabel

Musisz określić obie tabele za pomocą email kolumna:

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

Inną możliwością jest użycie jawnego JOIN z aliasem (aliasy służą tylko do skracania rzeczy, nie musisz ich używać.):

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

Oznacza to, że musisz uwzględnić tylko eamil w jednej kolumnie jednej tabeli jako JOIN upewnia się, że otrzymasz tylko te wiersze, które mają pasujący adres e-mail. Jeśli zapytanie jest puste, e-mail nie istnieje w obu.

Edytuj

Jeśli chcesz zdecydować, dokąd się udać w oparciu o rolę użytkownika, powinieneś skonsolidować wszystkich użytkowników w jednej tabeli zawierającej kolumnę określającą rolę użytkownika:

SELECT * FROM users WHERE email = '$inputEmail' 

Następnie PHP po pobraniu danych:

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

Ostrzeżenie!

...jak powiedzieli inni...

Mały Bobby mówi Twój skrypt jest zagrożony atakami typu SQL Injection Attack. . Nawet unikanie ciągu nie jest bezpieczne!

Nienawidzę, gdy ludzie mówią „Nie jestem tak daleko…” lub „Ta witryna nie będzie publiczna...” lub „To tylko do szkoły, więc bezpieczeństwo nie ma znaczenia...” . Jeśli nauczyciele i profesorowie nie mówią o bezpieczeństwie od pierwszego dnia, robią to źle. Rzuć im wyzwanie. Uczą niechlujnych i niebezpiecznych praktyk kodowania, których uczniowie będą musieli się później oduczyć. Nienawidzę też, gdy ludzie mówią:„Później dodam zabezpieczenia…” lub „Bezpieczeństwo nie jest teraz ważne...” lub „Zignoruj ​​zagrożenie bezpieczeństwa...” .

Nigdy nie przechowuj haseł w postaci zwykłego tekstu! Użyj funkcji wbudowanych PHP do obsługi bezpieczeństwa hasła. Jeśli używasz wersji PHP poniżej 5.5, możesz użyć funkcji password_hash() pakiet zgodności . Nie jest konieczne unikanie haseł lub użyj na nich innego mechanizmu czyszczącego przed haszowaniem. W ten sposób zmienia się hasło i powoduje niepotrzebne dodatkowe kodowanie.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP MySQL i geolokalizacja

  2. Zamień pierwszą literę na wielką. MySQL

  3. Upuszczanie tabeli powoduje zawieszanie się MySQL

  4. 4 sposoby na zastąpienie wartości NULL inną wartością w MySQL

  5. Wyszukiwanie FULLTEXT w MySQL nie zwraca żadnych wierszy