![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 79 Pomógł: 4 Dołączył: 9.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Napisałem w proste logowanie, które nie działa (IMG:style_emoticons/default/biggrin.gif) Logować loguje się, lecz po przeładowaniu strony... tzn kliknę przycisk zaloguj ale mnie nie zaloguje, dopiero muszę dać np: zakładkę home i wtedy pojawi się, że jestem zalogowany. A wyloguj już całkowicie nie działa... To jest plik logowania:
To jest plik logout.php
A to jest kod który mam w index.php
Z góry dziękuję za pomoc w naprawieniu tych skryptów. Pozdrawiam |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Na początku każdego skryptu, w którym korzystasz z sesji musi
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 26.09.2009 Ostrzeżenie: (0%) ![]() ![]() |
Kod jest nieczytelny!
1. zawartość tego ifa jest napisana chaotycznie, nic z tego nie zrozumiałem. było sprawdzić to tak:
2. NIGDZIE nie inicjujesz sesji. 3. Plik do wylogowywania wersja poprawiona:
4. System sesji jest do niczego. Świetnie napisany i rozpisany system jest na Wikibooks. http://pl.wikibooks.org/wiki/PHP/Sesje Dobrą praktyką jest pisanie komentarzy, żeby móc potem zrozumieć kod. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 429 Pomógł: 195 Dołączył: 6.10.2008 Skąd: Kraków/Tomaszów Lubelski Ostrzeżenie: (0%) ![]() ![]() |
do wylogowania lepiej uzywac session_destroy();
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 79 Pomógł: 4 Dołączył: 9.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
Zapomniałem dodać, że oczywiście w pliku index.php na samym początku jest
Jeżeli w pliku logout.php daje session_destroy(); wyskakuje mi taki błąd: Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\Program Files\WebServ\httpd\cms\logout.php:7) in C:\Program Files\WebServ\httpd\cms\index.php on line 2 Logowanie cały czas mi działa... lecz nie znacie przyczyny, czemu muszę przeładować stronę aby pojawił się komunikat Witaj admin zamiast miejsc do wpisywania loginu i hasła? |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 144 Pomógł: 12 Dołączył: 16.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\Program Files\WebServ\httpd\cms\logout.php:7) in C:\Program Files\WebServ\httpd\cms\index.php on line 2 Przed session_start() nic nie powinno się znajdować ! |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 79 Pomógł: 4 Dołączył: 9.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
Oczywiście, że nic nie ma...
tak wyglądają pierwsze linijki index.php |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Nie nie , to albo podaj cały kod, który oddajesz do analizy, albo nikt nie będzie wróżył, co Ty tam jeszcze masz wcześniej w pliku index.php i dalej w innych plikach. Najlepiej gdybyś podał pełny listing wszystkich plików biorących udział w logowaniu + podstrony, o których wspominasz.
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 79 Pomógł: 4 Dołączył: 9.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
plik index.php
plik login.php
plik logout.php
Czytałem trochę i dowiedziałem się, że musze zrobić przeładowanie strony po zalogowaniu... myślałem, że robi się to automatycznie po przyciśnięciu przycisku submit (zaloguj) z formularza logowania... Niestety nie wiem dalej jak to zrobić. Próbowałem wylogowywać się również za pomocą tego pliku o nazwie logout.php:
i wyskakuje mi błąd: Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\Program Files\WebServ\httpd\cms\logout.php:5) in C:\Program Files\WebServ\httpd\cms\index.php on line 2 Z góry dziękuje za pomoc. |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 41 Pomógł: 9 Dołączył: 8.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
w pliku login.php dodaj jedno else:
i bym zapomniał w pliku index.php powinno być cosik takiego:
a session_destroy(); wyrzuca ci błąd bo powinieneś wykonać to przed wysłaniem jakichkolwiek danych do klienta. Najlepiej zaraz po session_start(); a najlepiej zarządzanie sesją wyżucić przed cały kod zarządzający treścią to unikniesz takich błędów (IMG:style_emoticons/default/winksmiley.jpg) Ten post edytował Thorang Hoog 17.12.2009, 13:20:28 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 07:30 |