Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z SELECTEM + logowanie php
Szajba
post 10.03.2006, 15:33:16
Post #1





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 10.03.2006

Ostrzeżenie: (0%)
-----


Witam próbuje zrobić logowanie do bazy, w którym z 3 tabel będzie pobierany login oraz hasło, kod wygląda tak:

  1. <?
  2. function autoryzacja() {
  3. include "polaczenie.php";
  4. $login=$_POST['login'];
  5. $haslo=md5($_POST['haslo']);
  6.  
  7. $zapytanie = "exec login";
  8.  
  9. $wynik = mssql_query( $zapytanie, $polaczenie );
  10. $totalrows_wynik = mssql_num_rows($wynik);
  11. if ($totalrows_wynik == 1) {  $_SESSION['zalogowany']=$login;
  12. $_SESSION['au']=1;}
  13. else
  14.  
  15.  print ("<font><b><p> Zła nazwa użytkownika lub hasło</p></b></font>");
  16. }
  17.  
  18.  
  19. ?>


a zapytanie SQL:

  1. CREATE PROCEDURE login AS SELECT login, haslo
  2. FROM Pacjent
  3. UNION
  4. SELECT login, haslo
  5. FROM Lekarze
  6. UNION
  7. SELECT login, haslo
  8. FROM Administrator
  9. WHERE login = '$login' AND haslo = '$haslo'
  10. RETURN
  11. GO


Problem wydaje sie w polaczniu tabel, gdy robie ten SELECT na 1 tabeli, wszystko smiga az miło.
Ale jak łącze tabele to po wpisaniu loginu wywala mi ciągle : Zła nazwa uzytkownika lub haslo" questionmark.gif?

Prosze o pomoc, każda sugestia będzie mile widziana.
Go to the top of the page
+Quote Post
Zbłąkany
post 11.03.2006, 10:58:46
Post #2


Administrator serwera


Grupa: Developerzy
Postów: 521
Pomógł: 13
Dołączył: 2.04.2004
Skąd: 52°24' N 16°56' E

Ostrzeżenie: (0%)
-----


A nie prościej by było zrobić tak:
users:
id,login,password,oid
options:
id,name
Łatwiej jest szukać w jednej tabeli jak w 3 gdzie masz takie same nazwy, a jeśli już koniecznie musisz zrobić to na 3 tabelach to użyj aliasów na login i haslo dla każdej tabeli, a na końcu daj warunki złożone: login i haslo dla tylko jednej tabeli a nie wszystkich naraz, chyba, że jeden użytkownik może być jednocześnie adminem, lekarzem i pacjentem winksmiley.jpg


--------------------
Środowisko: Gentoo 2008.0 | Apache | PHP5 | PostgreSQL | MySQL | Postfix
Workstation: Gentoo 2008.0 | Firefox
Thomas Alva Edison: "Aby coś wynaleźć wystarczy odrobina wyobraźni i sterta złomu ..."
Odpowiedź na każde pytanie typu "Jak ...": "Nie da się, to nie PostgreSQL"
Go to the top of the page
+Quote Post
Method
post 19.03.2006, 20:19:12
Post #3





Grupa: Zarejestrowani
Postów: 177
Pomógł: 6
Dołączył: 14.01.2003
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


tak btw to ja bym uzyl viewsa i na bank rozwiazaloby ten problem


--------------------
"zycia nie mierzy sie liczba oddechow,
ale liczba chwil, ktore zapieraja dech w piersi"
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.07.2025 - 08:54