![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 145 Pomógł: 18 Dołączył: 11.11.2008 Skąd: Pwo Ostrzeżenie: (0%) ![]() ![]() |
Mam bardzo dziwny problem, pierwszy raz coś takiego się dzieje.
Mianowicie, przy logowaniu nadaję wartość $_SESSION['log'] = 1, po odświeżeniu strony sesji log już nie ma, pustka, po prostu zero.. Na początku skryptu jest session_start() . Macie pomysł jak rozwiązać ten problem? -------------------- Chcieć to móc, lecz trudnością jest chcieć, nie móc.
|
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 429 Pomógł: 195 Dołączył: 6.10.2008 Skąd: Kraków/Tomaszów Lubelski Ostrzeżenie: (0%) ![]() ![]() |
Na pewno w pierwszej linijce od razu masz session_start(); ? Obsluga sesji czynna? Warunek zeby zapisala sie wartosc 1 do $_SESSNION['log'] jest spelniony? Usun all i sprobuj przypisac jakas wartosc zmiennej potem ja wyswietl
-------------------- O! Zimniok :P
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 145 Pomógł: 18 Dołączył: 11.11.2008 Skąd: Pwo Ostrzeżenie: (0%) ![]() ![]() |
W pierwszej linijce, obsługa jest czynna, warunek jest spełniony (dodatkowy komunikat, który informuje o spełnieniu warunku).
Gdy od razu po session_start przypisze wartość zmiennej, jest okej. Teraz sprawdzając jak przypisuje zmienne itp. wychodzi na to, że przypisuje "na chwile" wartość, po odświeżeniu strony ją gubi.. Tak to wygląda:
Literówek nie zauważyłem, może źle myślę pisząc if'y i przepływy sterowania... -------------------- Chcieć to móc, lecz trudnością jest chcieć, nie móc.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 126 Pomógł: 5 Dołączył: 7.03.2009 Skąd: Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
a ciasteczka masz włączone?
EDIT a nie lepiej zamiast if($costam != ''){} dać if(!empty($costam)){} EDIT2 co to za funkcja info(); ![]() twoja? bo manual najwyraźniej jej nie zna i ja też ![]() Ten post edytował Makciek 9.11.2009, 20:21:10 |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 145 Pomógł: 18 Dołączył: 11.11.2008 Skąd: Pwo Ostrzeżenie: (0%) ![]() ![]() |
Ciastka włączone, sprawdziłem, jest ciastko PHPSESSID z wartością id sesji.
Przyzwyczaiłem się do $cos != '' , ale czy to wpływa na sesje ? Tak, moja:
Często się przydaje ![]() -------------------- Chcieć to móc, lecz trudnością jest chcieć, nie móc.
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 126 Pomógł: 5 Dołączył: 7.03.2009 Skąd: Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
spróbuj metody print it
![]() czyli każdą zmienną po każdym if-ie wy-echo-j ![]() Edit a może po prostu $p nie równa sie login? co to w ogóle jest $p? to jest coś w stylu $_GET['action']? Ten post edytował Makciek 9.11.2009, 20:36:30 |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 145 Pomógł: 18 Dołączył: 11.11.2008 Skąd: Pwo Ostrzeżenie: (0%) ![]() ![]() |
Print it nic nie pokazuje - sesja jest pusta.
$p = $_GET['p']; A $p == 'login' działa, ponieważ wyświetla się komunikat, o zalogowaniu i echując $_SESSION['log'], wyświetla ją, ale tylko na index.php?p=login, gdy przechodzę na inne podstrony, już sesja log jest pusta. Ciastka włączone, sprawdziłem, jest ciastko PHPSESSID z wartością id sesji. Przyzwyczaiłem się do $cos != '' , ale czy to wpływa na sesje ? Tak, moja:
Często się przydaje ![]() Edit: Rozwiązałem problem ![]() ![]() ![]() ![]() Dla osób, które napotkają podobny problem: 1. Na początku pliku miałem literówkę, session_start zamiast session_start(); Teraz zapisywanie w if'ie działa, ale pomimo ob_start() i ob_end_flush() wykazywało error: Cytat(wrrrrrr...) Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at usr\index.php:1) in c:\usr\krasnal\www\projekty\notatki\index.php on line 3 Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at usr\index.php:1) in c:\usr\krasnal\www\projekty\notatki\index.php on line 3 2. Cytat ze strony PHPedia.pl: Cytat(phpedia.pl) przykład 3 - Mediawiki i kodowanie utf8 w plikach rozszerzeń Komunikat "Cannot add/modify header information - headers already sent by..." może pojawić się w przypadku korzystania z edytora (np. Editpad) do edycji plików php domyślnie stosującego kodowanie utf8. W przypadku gdy zapiszemy plik w kodowaniu utf8, zostaną przesłane dodatkowe znaki znajdujące się na początku pliku i nie widoczne w edytorze. Dodawanie rozszerzenia w mediawiki: <? include("extensions/articletocategory.php"); Rozwiązaniem jest otwarcie pliku articletocategory.php i zmiana jego kodowania, na przykład na latin2, co spowoduje usuniącie tych dodatkowych niewidocznych znaków, przez które pojawiaś się komunikat o wysłanym już nagłówku. Aktualnie korzystam z Notepad++, który jak wyżej wspomniany Editpad, dodaje na początku pliku informacje o kodowaniu utf-8. Gdy zmieniłem kodowanie na ANSI wszystko zaczęło działać, hulać pełną parą ![]() I tak się dziś z Wami żegnam, wracam do pracy, Pozdrawiam ![]() Ten post edytował iVorIus 9.11.2009, 22:02:25 -------------------- Chcieć to móc, lecz trudnością jest chcieć, nie móc.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 25.07.2025 - 10:00 |