![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 2.03.2010 Skąd: ta pewność? Ostrzeżenie: (0%) ![]() ![]() |
Witam, piszę skrypt logowania PHP + MySQL, skrypt oparty o PHP i sztywną nazwę użytkownika i hasła np:
to nie mam żadnych problemów z żywotnością sesji, jednak gdy opieram skrypt o MySQL, to pojawia się właśnie problem. @poprawka skrypt oparty o sztywne loginy i hasła również ginie. Na Switch CASE
Strona działa o SWITCH CASE - menu, plik nazywa się login.php po wejściu z index.php nazywa się już oczywiście inaczej index.php?id=3 nie wiem czy ma to wpływ na jednorazową żywotność sesji. Otóż loguje się poprawnie otrzymując komunikat. Gdy jednak kliknę Strona główna, bądź chcę przejść do jakiejkolwiek pod strony np: by sprawdzić moje uprawnienia, to sesja znika. Skrypt do sprawdzania czy sesja istnieje.
Gdzie leży problem? Ten post edytował Bellum 11.06.2010, 17:59:05 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 664 Pomógł: 169 Dołączył: 8.01.2010 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Jeżeli wszytko przechodzi przez index.php to przenieś session_start() na początek index.php, a ze stron includowanych wyrzuć.
Powinno pomóc. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 2.03.2010 Skąd: ta pewność? Ostrzeżenie: (0%) ![]() ![]() |
Jeżeli wszytko przechodzi przez index.php to przenieś session_start() na początek index.php, a ze stron includowanych wyrzuć. Powinno pomóc. Usunąłem session_start() z pozostałych includowanych plików już wcześniej i teraz ponownie, nie jest to jednak rozwiązanie gdyż sesja i tak ginie. Ten post edytował Bellum 11.06.2010, 17:56:22 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 664 Pomógł: 169 Dołączył: 8.01.2010 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
A pokaż jak wygląda index.php.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 2.03.2010 Skąd: ta pewność? Ostrzeżenie: (0%) ![]() ![]() |
A pokaż jak wygląda index.php.
Małpę daję przed session gdyż non stop otrzymuję komunikat, Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at D:\Program Files\WebServ\httpd\2010\index.php:1) in D:\Program Files\WebServ\httpd\2010\index.php on line 1 ale to i tak nie ma wpływu na to czy sesja żyje czy ginie. Dlatego ignoruję ten błąd. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 664 Pomógł: 169 Dołączył: 8.01.2010 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Dodaj w pliku index.php na początku ob_start();
A na końcu ob_end_flush(); I usuń @. Jak ci nadal będzie wywalało ostrzeżenie to trzeba coś z tym zrobić, a nie ukrywać(IMG:style_emoticons/default/smile.gif) Co do tego ostrzeżenia to sprawdź czy nie masz jakiejś spacji przed wszystkim. Ten post edytował bastard13 11.06.2010, 18:30:22 |
|
|
![]() ![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 2.03.2010 Skąd: ta pewność? Ostrzeżenie: (0%) ![]() ![]() |
Dodaj w pliku index.php na początku ob_start(); A na końcu ob_end_flush(); I usuń @. Jak ci nadal będzie wywalało ostrzeżenie to trzeba coś z tym zrobić, a nie ukrywać(IMG:style_emoticons/default/smile.gif) Co do tego ostrzeżenia to sprawdź czy nie masz jakiejś spacji przed wszystkim. Nie pomaga. Błąd, który ukrywam może być od formatowania, plik jest w formacie UTF-8, gdzieś bodajże w niektórych formatach coś jest ukryte na początku. Nie zmienna to faktu, że sesja ginie. EDIT: @@ Rozwiązane Niewiarygodne zmieniłem formatowanie z UTF-8 na UTF-8 BEZ BOM i jak ręką odjął błąd zniknął z session_start(); na początku i dodatkowo sesja już nie ginie. Problem rozwiązany. Nadal nie mogę uwierzyć, że taki drobiazg powoduję takie męki. Dzięki bastard13 za pomoc te dwie dodatkowe zmienne, które podajesz nie są wymagane. Ten post edytował Bellum 11.06.2010, 18:47:34 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 664 Pomógł: 169 Dołączył: 8.01.2010 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
A sprawdź czy będzie ci działo coś takiego.
Plik pierwszy.php
Plik drugi.php
I sprawdź czy wyświetli ci na ekranie test. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 14:15 |