![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 2.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam wszystkich. Nie działają mi sesje. A dokładnie to nie przenoszą mi zmiennych między stronami. Podejrzewam, że problem tkwi w pliku php.ini próbowałem coś w nim zmieniać na kilka sposobów, ale nie przynosiło to pożądanych rezultatów. W końcu już się pogubiłem, że już sam nie wiem co jest dobrze a co źle. Umieszczam na dole część pliku php.ini odnośnie sesji proszę o rzucenie okiem
Kilka danych: Plik php.ini (wersja PHP: 5.2.5-Win32) skopiowałem na dysk: c/windows, orginał trzymam nadal w miejscu, gdzie mam wszystkie pliki po instalacji php e/Serwer/php5 -serwer Apache (wersja:2.2.8-win32-x86-openssl-0.9.8g) mam na dysku e/Serwer -wszystkie pliki czytane przez lokalhost umieszczam na: e/Serwer/WWW Jakie powinny być wpisy w pliku php.ini odnośnie sesji, żeby prawidłowo przenosiły zmienne między stronami |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 387 Pomógł: 273 Dołączył: 18.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Na początek włącz raportowanie błędów w php.ini (jest odpowiednia linijka, error_reporting) i sprawdź czy php nie wywala błędów po session_start() . Być może to nie konfiguracja serwera jest problemem.
-------------------- XMPP: l0ud@chrome.pl
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 2.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Na początek włącz raportowanie błędów w php.ini (jest odpowiednia linijka, error_reporting) i sprawdź czy php nie wywala błędów po session_start() . Być może to nie konfiguracja serwera jest problemem. error_reporting = E_ALL bez średnika, jeśli o tę linijkę kodu chodzi. Wklejam tę częśc kodu odpowiedzialną za sesję nie wiem czy są odpowiednei wpisy: [Session] ; Handler used to store/retrieve data. session.save_handler = files ; Argument passed to save_handler. In the case of files, this is the path ; where data files are stored. Note: Windows users have to change this ; variable in order to use PHP's session functions. ; ; As of PHP 4.0.1, you can define the path as: ; ; session.save_path = "N;/path" ; ; where N is an integer. Instead of storing all the session files in ; /path, what this will do is use subdirectories N-levels deep, and ; store the session data in those directories. This is useful if you ; or your OS have problems with lots of files in one directory, and is ; a more efficient layout for servers that handle lots of sessions. ; ; NOTE 1: PHP will not create this directory structure automatically. ; You can use the script in the ext/session dir for that purpose. ; NOTE 2: See the section on garbage collection below if you choose to ; use subdirectories for session storage ; ; The file storage module creates files using mode 600 by default. ; You can change that by using ; ; session.save_path = "N;MODE;/path" ; ; where MODE is the octal representation of the mode. Note that this ; does not overwrite the process's umask. ; session.save_path = "e/Serwer/tmp" ; Whether to use cookies. session.use_cookies = 1 ;session.cookie_secure = ; This option enables administrators to make their users invulnerable to ; attacks which involve passing session ids in URLs; defaults to 0. ; session.use_only_cookies = 1 ; Name of the session (used as cookie name). session.name = PHPSESSID ; Initialize session on request startup. session.auto_start = 0 ; Lifetime in seconds of cookie or, if 0, until browser is restarted. session.cookie_lifetime = 0 ; The path for which the cookie is valid. session.cookie_path = / ; The domain for which the cookie is valid. session.cookie_domain = ; Whether or not to add the httpOnly flag to the cookie, which makes it inaccessible to browser scripting languages such as JavaScript. session.cookie_httponly = ; Handler used to serialize data. php is the standard serializer of PHP. session.serialize_handler = php ; Define the probability that the 'garbage collection' process is started ; on every session initialization. ; The probability is calculated by using gc_probability/gc_divisor, ; e.g. 1/100 means there is a 1% chance that the GC process starts ; on each request. session.gc_probability = 1 session.gc_divisor = 1000 Poniżej przedstawiam kody dwóch plików. Movie1 ze zmiennymi I Movie z odbiorem tych zmiennych przez sesje. Przykładysą z książki ale sesje nie przenoszą zmiennych. Plik movie1.php <?php session_start(); $_session['username'] = "Jan12345"; $_session['authuser'] = 1; ?> <html> <head> <title>Znajdź mój ulubiony film</title> </head> <body> <?PHP $myfavmovie = urlencode("Żywot Briana"); //Zmień ten wiersz echo "<a href='moviesite.php?favmovie=$myfavmovie'>"; echo "Kliknij tutaj, aby zobaczyć informacje o moim ulubionym filmie!"; echo "</a>"; ?> </body> </html> Ten post edytował woiran 2.03.2008, 21:37:34 |
|
|
![]()
Post
#4
|
|
![]() Administrator wortalu Grupa: Przyjaciele php.pl Postów: 960 Pomógł: 39 Dołączył: 21.10.2003 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Proszę o poprawę tematu na zgodny z regulaminem działu przedszkole inaczej zostanie zamknięty.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 2.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
plik movie.php
<? //Odbieranie zmiennych dotyczących imienia za pomocą sesji session_start(); //sprawdź czy użytkownik zalogował się używając poprawionego hasła if ($_session['authuser'] != 1) {echo "Przepraszamy, ale nie masz urawnień do zobaczenia tej strony!"; exit();} ?> <html> <head> <title> Witryna o filmach - <?PHP echo $_REQUEST['favmovie']; ?></title> </head> <body> <?PHP echo "Witamy na witrynie użytkowniku "; echo $_session['username']; echo "!<br>"; echo 'Mój ulubiony film to '; echo $_REQUEST['favmovie']; echo "<br>"; $movierate = 5; echo "Moja ocena tego filmu wynosi "; echo $movierate; ?> </body> </html> Obraz, który się wyświetla: Witamy na witrynie użytkowniku Notice: Undefined variable: _session in E:\Serwer\www\moviesite.php on line 18 ! Mój ulubiony film to Żywot Briana Moja ocena tego filmu wynosi 5 Ten post edytował woiran 2.03.2008, 21:39:55 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 1 387 Pomógł: 273 Dołączył: 18.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Wielkość liter ma znaczenie. Do sesji odnosisz się przez tablicę $_SESSION, a nie $_session.
![]() Pozdrawiam -------------------- XMPP: l0ud@chrome.pl
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 170 Pomógł: 11 Dołączył: 2.03.2008 Skąd: Lublin Ostrzeżenie: (10%) ![]() ![]() |
Więc tak, to raczej nie pomoże, ale używaj przy $_SESSION dużych liter
Hej! Ja znam ten kurs! Sam się z niego uczyłem ;> @up Heh Loud mnie uprzedził ![]() Ten post edytował Misiur66 2.03.2008, 21:40:00 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 2.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Wielkość liter ma znaczenie. Do sesji odnosisz się przez tablicę $_SESSION, a nie $_session. ![]() Pozdrawiam Więc tak, to raczej nie pomoże, ale używaj przy $_SESSION dużych liter Hej! Ja znam ten kurs! Sam się z niego uczyłem ;> @up Heh Loud mnie uprzedził ![]() Dzięki za pomoc, zmieniłem wielkośc liter,ale to nie pomogło, przynajmniej będę wiedział na później. Jestem niemal pewien, że błąd jest gdzieś w kodzie pliku: php.ini. Proszę zwrócićie uwagę, czy dobrze i w dobrej linice umieściłem instrukcję: ; session.save_path = "e/Serwer/tmp" ze średnikiem, czy bez i biorac pod uwagę, to ,że inne elementy php, apache leżą na dyskach i folderach, które opisałem w pierwszym poście. Dzięki za wszelką pomoc! |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 1 387 Pomógł: 273 Dołączył: 18.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Linia musi być bez średnika.
Kod session.save_path = e:\Serwer\tmp To będzie działało, o ile utworzysz folder 'tmp'. -------------------- XMPP: l0ud@chrome.pl
|
|
|
![]()
Post
#10
|
|
![]() Administrator wortalu Grupa: Przyjaciele php.pl Postów: 960 Pomógł: 39 Dołączył: 21.10.2003 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Ignorowanie prośby.
Tytuł tematu nie spełnia wymagań regulaminu działu przedszkole. Zamykam. Prześlij poprawną formę do moderatora to otworzy. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 02:09 |