Logowanie |
Logowanie |
12.10.2002, 18:56:11
Post
#1
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 0 Dołączył: 24.06.2002 Ostrzeżenie: (0%) |
Kod <?
if ((!$username) || (!$password)) { header("Location: http://localhost/show_login.html"); exit; } $db_name = "test"; $table_name = "logowanie"; $connection = @mysql_connect("localhost", "", "") or die("Couldn't connect."); $db = mysql_select_db($db_name, $connection) or die("Couldn't select database."); $sql = "SELECT * FROM $table_name WHERE username = "$username" AND password = password("$password") "; $result = mysql_query($sql) or die ("Can't execute query."); $num = mysql_numrows($result); if ($num != 0) { $cookie_name = "auth"; $cookie_value = "ok"; $cookie_expire = ""; $cookie_domain = ""; setcookie($cookie_name, $cookie_value, $cookie_expire, "/" , $cookie_domain, 0); itd.. W bazie obok userów zamiescilem kolumne z levelami dostepu. Jak zrobić aby po podaniu sprawdzał oprócz login i haslo odpowiedni level i przekierowywal go na taką odpowiednia mu strone. |
|
|
13.10.2002, 10:08:31
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 660 Pomógł: 0 Dołączył: 28.08.2002 Skąd: Starachowice Ostrzeżenie: (0%) |
Kod <?
if ((!$username) || (!$password)) { header("Location: http://localhost/show_login.html"); exit; } $db_name = "test"; $table_name = "logowanie"; $connection = @mysql_connect("localhost", "", "") or die("Couldn't connect."); $db = mysql_select_db($db_name, $connection) or die("Couldn't select database."); $sql = "SELECT * FROM $table_name WHERE username = "$username" AND password = password("$password") "; $result = mysql_query($sql) or die ("Can't execute query."); $row = mysql_fetch_array($result); switch($row['level']) { case 0: Header('Location: admin.php'); break; case 1: Header('Location: moderator.php'); break; case 2: Header('Location: user.php'); break; } ... Chyba o coś takiego Ci chodziło? |
|
|
13.10.2002, 20:35:37
Post
#3
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 0 Dołączył: 24.06.2002 Ostrzeżenie: (0%) |
Cytat Chyba o coś takiego Ci chodziło?
Tak oto dzięki. Mam jescze pytanie - jak to jest skonstruowane np: w poczcie jakiegos portalu gdzy podający login i haslo ma swoj profil - a nie jak to ja sobie wymyslilem level. Czy to ą sesje. Jakby to wyglądało w moim skrypcie ? |
|
|
14.10.2002, 09:20:38
Post
#4
|
|
Grupa: Przyjaciele php.pl Postów: 660 Pomógł: 0 Dołączył: 28.08.2002 Skąd: Starachowice Ostrzeżenie: (0%) |
Cytat Mam jescze pytanie - jak to jest skonstruowane np: w poczcie jakiegos portalu gdzy podający login i haslo ma swoj profil - a nie jak to ja sobie wymyslilem level. Czy to ą sesje. Jakby to wyglądało w moim skrypcie ?
Po prostu musisz poszerzyć swoją tabelę użytkowników o ustawienia jakie chcesz aby były zapisywane dla konkretnych userów, np. imie, nazwisko, adres, miasto, wiek, czy powiadamiac o zmianach na stronie, schemat, sygnatura... no po prostu indywidualne dane dla każdego użytkownika. A sesje są po to, aby klient nie musiał się logować na każdej podstronie, więc jak najbardziej wskazane jest ich użycie |
|
|
14.10.2002, 09:49:28
Post
#5
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 0 Dołączył: 24.06.2002 Ostrzeżenie: (0%) |
Cytat Po prostu musisz poszerzyć swoją tabelę użytkowników o ustawienia jakie chcesz aby były zapisywane dla konkretnych userów, np. imie, nazwisko, adres, miasto, wiek, czy powiadamiac o zmianach na stronie, schemat, sygnatura... no po prostu indywidualne dane dla każdego użytkownika.
A sesje są po to, aby klient nie musiał się logować na każdej podstronie, więc jak najbardziej wskazane jest ich użycie :) Tak myślałem. Jęsli możesz to odpowiedz jak to się będzie miało do tego mojego skryptu. Jak wyglada ten mechanizm ktory poroenuje pozostale dane i wywala odpowiednie dla uzytkownika. Z gory dzieki |
|
|
14.10.2002, 11:42:54
Post
#6
|
|
Grupa: Przyjaciele php.pl Postów: 660 Pomógł: 0 Dołączył: 28.08.2002 Skąd: Starachowice Ostrzeżenie: (0%) |
Kod <?
#plik login.php session_start() if ((!$username) || (!$password)) { header("Location: login.php"); exit; } $db_name = "test"; $table_name = "logowanie"; $connection = @mysql_connect("localhost", "", "") or die("Couldn't connect."); $db = mysql_select_db($db_name, $connection) or die("Couldn't select database."); $sql = "SELECT * FROM $table_name WHERE username = "$username" AND password = password("$password")"; $result = mysql_query($sql) or die ("Can't execute query."); if(mysql_num_rows($result) > 0) { $HTTP_SESSION_VARS['logeduser'] = $username; Header('Location: userinfo.php'); } else print('Logowanie nie powiodlo się'); ?> <? #plik userinfo.php $db_name = "test"; $table_name = "logowanie"; $connection = @mysql_connect("localhost", "", "") or die("Couldn't connect."); $db = mysql_select_db($db_name, $connection) or die("Couldn't select database."); $sql = "SELECT * FROM $table_name WHERE username = "" . $HTTP_SESSION_VARS['logeduser'] . """; $result = mysql_query($sql) or die ("Can't execute query."); $row = mysql_fetch_array($result); print('Imie: ' . $row['imie'] . '<br>'); print('Nazwisko: ' . $row['nazwisko'] . '<br>'); print('itd...: ' . $row['itd'] . '<br>'); ?> To jest zarys idei, musisz jeszcze dostosować to do własnych potrzeb, utworzyć skrypt pozwalający klientowi zmieniać swoje dane/ustawienia, no i poczytaj o sesjach :wink: |
|
|
15.10.2002, 09:11:22
Post
#7
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 0 Dołączył: 24.06.2002 Ostrzeżenie: (0%) |
Cytat <?
#plik userinfo.php $db_name = "test"; $table_name = "logowanie"; $connection = @mysql_connect("localhost", "", "") or die("Couldn't connect."); $db = mysql_select_db($db_name, $connection) or die("Couldn't select database."); $sql = "SELECT * FROM $table_name WHERE username = "" . $HTTP_SESSION_VARS['logeduser'] . """; $result = mysql_query($sql) or die ("Can't execute query."); $row = mysql_fetch_array($result); print('Imie: ' . $row['imie'] . '<br>'); print('Nazwisko: ' . $row['nazwisko'] . '<br>'); print('itd...: ' . $row['itd'] . '<br>'); ?>[/code] To jest zarys idei, musisz jeszcze dostosować to do własnych potrzeb, utworzyć skrypt pozwalający klientowi zmieniać swoje dane/ustawienia, no i poczytaj o sesjach :wink: Czyli ten kod z pliku userinfo.php moge umiesczac w plikach do których chce aby klient mial dostęp? Np: includem? |
|
|
15.10.2002, 11:00:34
Post
#8
|
|
Grupa: Przyjaciele php.pl Postów: 660 Pomógł: 0 Dołączył: 28.08.2002 Skąd: Starachowice Ostrzeżenie: (0%) |
Cytat Czyli ten kod z pliku userinfo.php moge umiesczac w plikach do których chce aby klient mial dostęp? Np: includem?
Tzn. nie tak żywcem, jeśli ma być on dołączany przy pomocy include() to trzeba się upewnić w skrypcie wywołującym, czy user się zalogował i dopiero wtedy dołączać. Przydałoby się też zabezpieczenie, przed wywołaniem tego skryptu bezpośrednio np. na poczatku userinfo.php umieścić coś takiego: Kod <?
if(ereg("userinfo.php", $PHP_SELF)) Header('Location: ./'); |
|
|
15.10.2002, 17:12:19
Post
#9
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 0 Dołączył: 24.06.2002 Ostrzeżenie: (0%) |
Cytat Tzn. nie tak żywcem, jeśli ma być on dołączany przy pomocy include() to trzeba się upewnić w skrypcie wywołującym, czy user się zalogował i dopiero wtedy dołączać.
Przydałoby się też zabezpieczenie, przed wywołaniem tego skryptu bezpośrednio np. na poczatku userinfo.php umieścić coś takiego: Kod <? if(ereg("userinfo.php", $PHP_SELF)) Header('Location: ./'); Ok to zrozumialem, ale rowniez chodzilo mi o to czy jak juz sie user zaloguje i juz bedzie na stronie userinfo.php gdzie np znajduje sie link do jakies innej podstronki np: adresy.php - to co w tym przypadku powinnienem umiescic na poczatku w adresy.php. , aby tylko on mial do niej dostep. Jakiś includzik? - czy tu trzeba uzyc sesji wtedy? Sorry ze tak moce, ale obiecuje ze to juz ostatni post w tej materii. Dzieki za cierpliwosc |
|
|
16.10.2002, 10:50:21
Post
#10
|
|
Grupa: Przyjaciele php.pl Postów: 660 Pomógł: 0 Dołączył: 28.08.2002 Skąd: Starachowice Ostrzeżenie: (0%) |
Kod <? #adresy.php
if(empty($HTTP_SESSION_VARS['logeduser'] == True) Header('Location: login.php'); ... Ot i całą filozofia. A jeszcze lepiej byłoby zrobić osobny plik z często wykorzystywanymi funkcjami i tam umieścić funkcję np. checklogin() robiącą to co wyżej napisałem, a wtedy na początku każdego pliku w którym potrzebna jest autoryzacja wpisywać: Kod <?
include('funkcje.php'); checklogin(); ... ?> |
|
|
16.10.2002, 11:03:55
Post
#11
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 0 Dołączył: 24.06.2002 Ostrzeżenie: (0%) |
Cytat Kod <? #adresy.php
if(empty($HTTP_SESSION_VARS['logeduser'] == True) Header('Location: login.php'); ... Ot i całą filozofia. A jeszcze lepiej byłoby zrobić osobny plik z często wykorzystywanymi funkcjami i tam umieścić funkcję np. checklogin() robiącą to co wyżej napisałem, a wtedy na początku każdego pliku w którym potrzebna jest autoryzacja wpisywać: Kod <? include('funkcje.php'); checklogin(); ... ?> Dzięki jescze raz za wszystko. |
|
|
16.10.2002, 14:09:35
Post
#12
|
|
Grupa: Przyjaciele php.pl Postów: 660 Pomógł: 0 Dołączył: 28.08.2002 Skąd: Starachowice Ostrzeżenie: (0%) |
No problem
|
|
|
Wersja Lo-Fi | Aktualny czas: 10.06.2024 - 02:35 |