Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z logowaniem
MotyF
post
Post #1





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 10.08.2003

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


Mam nastepujacy problem. Po zrobieniu prostego systemu logowania, gdzie hasła są kodowane i zapisywane do pliku (nie do bazy) mam problem. Po zalogowaniu się chciałbym, aby otworzyła się strona np: http://www.jakasstrona.pl , aby znajdowała się w rozpoczetej sesji oraz gdzieś bylo widoczne: wyloguj. Logowanie składa sie z tabeli, gdzie pola sa po prawej stronie(do logowania) a na srodku po zalogowaniu sie potrafie tylko wstawic napis: Zalogowałeś sie ". $user->user () . " poprawnie........itd. Zaznaczam, że php zajmuje sie góra od miesiąca i znam php w samych podstawach, a logowaniem zajalem sie na własne potrzeby. A logowanie wygląda mniej więcej tak:<?
if (!$user->is_logged ())
{
echo "<p class=error align=center>Podałeś złe dane. Spróbuj ponownie.</p>";
}
else
{
echo "<p class=ok align=center>". $user->user () . " został zalogowany poprawnie .</p>";
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
hamlecik
post
Post #2





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 31.07.2003

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


Hmmm, dobra rada, przejdz z plikow do bazy. latwiejsza obsluga (jak dla mnie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) i bezpieczniejsza wymiana danych. mowisz, ze masz sesje. wiec zaczynamu:

LEGENDA:
$user = zmienna loginu w formularzu
$pass = zmienna hasla w formularzu
$username = zmienna loginu z pliku z haslami
$password = zmienna hasla z pliku z haslami

(chyba nie musze dodawac ze mozesz zmieniac te zmienne jak chcesz :wink: podalem takie tylko dla przykladu)

[php:1:3b7ce10a09]
<?php

session_start();

$user = $HTTP_POST_VARS['user'];
$pass = $HTTP_POST_VARS['pass'];

if( $user && $pass ){

// dobrze jest wstawic ten warunek zeby sprawdzic czy jakies wartosci zostaly wogole wpisane. jesli zostaly wpisane to wyciagaj haslo i login z pliku

// teraz wyciagasz interesujace Cie dane z pliku z haslami

}
if( $username == $user && $password == $pass){
session_register('username');

// zalogowane przenosimy do panelu
header("Location: dla_zalogowanych.php?ID=".session_id());
} else{

print "access denied";
exit();
}
} else{

// miejsce na twoj formularz do logowania

}
?>
[/php:1:3b7ce10a09]

Pozostale uwagi:
1) Plik logout.php powinien wygladac tak:

[php:1:3b7ce10a09]
session_unregister('username');
session_start();
session_destroy();
[/php:1:3b7ce10a09]

2) Kazda strona, ktora ma byc widzoczna tylko dla zalogowanych uzytkownikow powinna zawierac taka tresc:

[php:1:3b7ce10a09]
session_start();
if(session_is_registered('username')){


//dalsza czesc strony


} else{
print("Uzytkownik nie zalogwany. dostęp zabroniony");
exit();
}
[/php:1:3b7ce10a09]

Chyba za bardzo nie namieszalem. Jak nie bedzie dzialac to daj znac.
Go to the top of the page
+Quote Post

Posty w temacie
- MotyF   Problem z logowaniem   10.08.2003, 14:32:02
- - cahe   Re: Problem z logowaniem   10.08.2003, 14:38:07
- - MotyF   O co chodzi ?   10.08.2003, 15:04:19
- - cahe   Re: O co chodzi ?   10.08.2003, 15:42:11
- - cahe   Aha: RTFM. Tam jest wszystko co chcesz wiedzieć i ...   10.08.2003, 15:44:08
- - hamlecik   Motyf: rozumiem twoj problem. jak bede wieczorem/ ...   10.08.2003, 17:10:05
- - spenalzo   Kolejny obrażalski. Napisz o co Ci chodzi dokłądni...   10.08.2003, 18:23:16
- - MotyF   I znowu to samo   10.08.2003, 19:10:11
- - hamlecik   Hmmm, dobra rada, przejdz z plikow do bazy. latwie...   10.08.2003, 23:03:07
- - MotyF   Wielkie dzięki, a co do bazy....   11.08.2003, 10:12:01
- - hamlecik   dziala to logowanie, ktore podalem? Nie kumam. C...   11.08.2003, 11:53:09
- - MotyF   Działa   11.08.2003, 19:40:10
- - MotyF   do Cahe   11.08.2003, 19:44:48
- - KaMeLeOn   Re: do Cahe   11.08.2003, 23:03:16
- - cahe   Re: do Cahe   11.08.2003, 23:08:45


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

 



RSS Aktualny czas: 9.10.2025 - 09:08