![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 71 Pomógł: 1 Dołączył: 2.06.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam wszystkich!
![]() Na wstęp napiszę, że od 8 godzin szukam w necie rozwiązania mojego problemu i nic, przeczytałem wiele tematów o kodowaniu BOM, spacji przed <?php, przeszukałem też tutejsze forum, też nic ciekawego. Zdesperowany postanowiłem napisać mój problem tutaj.
O to mój skrypt logowania który zamieszczam w indexie.
A otrzymany błąd to oczywiście: ,,Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent" Chyba dosłonie próbowałem wszystkiego.. jedynie co ciekawego przykuło moją uwage to, że kiedy wchodzę w plik login.php to nie wypisuje mi błedu, dopiero kiedy go gdzieś wrzucam to nie działa.. kompletnie nie rozumiem Prosze was bardzo o pomoc Pozdrawiam |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 748 Pomógł: 388 Dołączył: 21.08.2009 Skąd: Gdynia Ostrzeżenie: (0%) ![]() ![]() |
Mogłeś chociaż napisać co już próbowałeś i nie działało bo pewnie przez 8 godzin spróbowałeś wiele rzeczy. Ja mam natomiast takie pytanie, czy ten pierwszy skrypt to jest właśnie login.php? Bo jeżeli tak to nic dziwnego, że wywala błąd skoro przed session_start(), jest jeszcze 55 linijek kodu....to session_start jest wywołane dopiero tam gdzie masz include
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 71 Pomógł: 1 Dołączył: 2.06.2012 Ostrzeżenie: (0%) ![]() ![]() |
Mogłeś chociaż napisać co już próbowałeś i nie działało bo pewnie przez 8 godzin spróbowałeś wiele rzeczy. Ja mam natomiast takie pytanie, czy ten pierwszy skrypt to jest właśnie login.php? Bo jeżeli tak to nic dziwnego, że wywala błąd skoro przed session_start(), jest jeszcze 55 linijek kodu....to session_start jest wywołane dopiero tam gdzie masz include
1. Kodowanie na wszystkie sposoby, czytanie w necie o session_start, ob_start, zmienianie kolejnosc itp 2. Tak pierwszy skrypt to login.php ktory wrzucam do drugiego skryptu czyli index.html 3. To w takim razie co mam zrobic? dac session start obok <?php ? |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 748 Pomógł: 388 Dołączył: 21.08.2009 Skąd: Gdynia Ostrzeżenie: (0%) ![]() ![]() |
Widzę, że nie rozumiesz. Session_start() ma być absolutnie na samym początku tego co wyświetlasz, przed jakimkolwiek html'em, a nie że na początku pliku w, którym jest. Ty Wysyłasz najpierw 55 linijek htmla a potem załączasz plik gdzie odpalasz session_start(), czyli session_start u Ciebie nie jest na samym początku a wmieszany w html, dlatego otrzymujesz błąd. Czyli w tym przypadku, który tu opisałeś rozwiązaniem będzie usunięcie session_start() z pliku login.php i umieszczenie go przed treścią html w pliku index, czyli
Przed session_start() nie może być kompletnie nic, nawet spacja, dodatkowo upewnij się, że plik zapisałeś bez BOM bo to BOM to też znacznik zapisywany na początku pliku. |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 71 Pomógł: 1 Dołączył: 2.06.2012 Ostrzeżenie: (0%) ![]() ![]() |
Geniusz! Straciłem ponad 8 godzin! AH!
Wielki dzięki, + dla ciebie. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 1 Dołączył: 26.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
kolego AuronDiel, ja bym powiedzial ze problem jest jak najbardziej typowy, mi kiedys dosc czesto sie zdarzal;]...poza tym jakby nie bylo klania sie MANUAL
![]() Cytat Informacja: (jakichkolwiek czyli tez HTML'a i bialych znakow czyli np spacji)Jeśli używasz sesji opartych o ciasteczka, to session_start() musi być wywołane przed wysłaniem jakichkolwiek danych do przeglądarki. , naglowki - http://www.php.net/manual/pl/function.header.php - Cytat Remember that header() must be called before any actual output is sent, either by normal HTML tags, blank lines in a file, or from PHP. It is a very common error to read code with include(), or require(), functions, or another file access function, and have spaces or empty lines that are output before header() is called. (czarno na bialym;])dlaczego pisze o naglowkach?? ano, podczas rozpoczecia sesji do przegladarki wysylane sa naglowki ( automatycznie, tak jakby przegladarka za Ciebie uruchomila headers() ), dlatego by sesja mogla ruszyc musza byc spelnione warunki umozliwiajace wysylanie naglowkow, i znowu klania sie manual - Cytat Additionally, session_cache_limiter() and the session.cache_limiter configuration setting can be used to automatically generate the correct caching-related headers when sessions are being used. warto nieraz na poczatek zajrzec do manuala i sie zwyczajnie doksztalcic |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 12.06.2025 - 14:51 |