Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 10.12.2005 Ostrzeżenie: (0%)
|
Witam,
mam taki problem. Pisze forum w php z wykorzystaniem mysql'a i utknalem w miejscu autoryzacji. Otoz, udalo mi sie wkoncu zrobic skrypty do logowania i rejestracji uzytkownikow i teraz mam problem jak zrobic, zeby po kliknieciu w przycisk "zaloguj" zamiast formularza do logowania pojawilo sie np. "witaj xxx". Mam dwa pliki do autoryzacji i jeden to zwykly formularz, a drugi skrypt (loguj.php) do sprawdzania danych w bazie. Wszystko jest ok, wyskakuje powitanie i ew. bledy, ale na nowej stronie, czyli nastepuje przekierowanie do skryptu obslugujacego logowanie. Strona glowna to trzy includowane pliki naglowek.tpl, tekst.tpl (gdzie jest includowany formularz form_log.php) i stopka.tpl. Powiem szczerze, ze juz powoli sie poddaje, bo nie moge wymyslec jak zrobic, zeby nie pisac kolejnych stron dla zalogowanych i niezalogowanych. Pomysl jest taki, ze zalogowany moze pisac i odpowiadac na posty, a niezalogowany tylko czytac. Narazie wymyslilem zeby zrobic inna strone dla zalogowanych (z linkami do pisania nowego posta i do odpowiadania), ale moze da sie to zrobic inaczej (linki caly czas sa widoczne, ale po kliknieciu przez niezalogowanego wyskakuje komunikat "Jezeli chcesz napisac nowy temat...... itd")? Formularz i skrypt znajdziecie tu. Pozdrawiam, Bibop |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 13.12.2005 Ostrzeżenie: (0%)
|
Błąd znajduje się w pliku form_log.php. Niezależnie czy jesteś zalogowany czy nie wyświtla on formularz logowania.
Przykład rozwiązania: dodaj na początku plików tekst.tpl, loguj.php:
następnie dodaj zmienną sesyjną przetrzymującą wartość zmiennej $login w pliku loguj.php:
teraz zmodyfikuj plik form_log.php:
końcowa faza to modyfikacja wylogowania musisz zmienic nazwe form_wyloguj.php na wyloguj.php i wypełnić jego zawartość mniej więcej tak:
Pamiętaj że każdy plik php odpalany bezpośrednio przez przeglądarke musi miec na początku:
żeby działał mechanizm sesji. Każdy plik którego "inkludujesz" nie powinien mieć tego startu sesji. Na stronach w serwisie na początku weryfikujesz stan zmiennej sesyjnej $_SESSION['userid'] i jesli jest ustawiona zezwalasz na działania a jesli nie ustawiona blokujesz działania. Aha i ostatnia rzecz w pliku loguj.php pozmieniaj:
na
gdzie tekst.tpl to główna strona. Pozdrawiam. (IMG:http://forum.php.pl/uwaga.gif) poprawiam --- nospor |
|
|
|
Bibop Autoryzacja i logowanie uzytkownika. 12.12.2005, 16:36:44
Spirit86 jest takie bajeczne urządzenie jak Szukaj, oraz Go... 12.12.2005, 18:05:38
Bibop dobra, to inaczej.
Mam plik:
tekst.tpl
[HTML] pob... 13.12.2005, 00:08:44 ![]() ![]() |
|
Aktualny czas: 27.12.2025 - 11:19 |