Autor Zpráva
Anonymní
Profil *
Na localu mi nefungujou všechny scripty využívající sessions na wz mi to funguje doma ne a v php.ini už nevim co bych nastavil vypnute cookies nemam path nastavenou mam. jinak to jede pod
Apache2.2.2, PHP 5.1.4, Mysql 5.0.22 takhle mi začínají soubory.

<?php
Header("Pragma: No-cache");
Header("Cache-Control: No-cache, Must-revalidate");
Header("Expires: ".GMDate("D, d M Y H:i:s")." GMT");
session_start();
session_register('user_register');
$user_register= "web";...........

<?php
session_start();
if(!session_is_registered("user_register") || $HTTP_SESSION_VARS["user_register"]<>'web'){
echo $HTTP_SESSION_VARS["user_register"]; ..............

podle mě to je v nastavení php.ini
výpis


[Session]

session.save_handler = files

session.save_path = "C:\temp\"

session.use_cookies = 1

session.use_only_cookies = 1

session.name = PHPSESSID

session.auto_start = 1

session.cookie_lifetime = 0

session.cookie_path = "C:\temp\"

session.cookie_domain =

session.serialize_handler = php


session.gc_probability = 1
session.gc_divisor = 1000

session.gc_maxlifetime = 1440

session.bug_compat_42 = 0
session.bug_compat_warn = 1

session.referer_check =


session.entropy_length = 0


session.entropy_file =

;session.entropy_length = 16

;session.entropy_file = /dev/urandom


session.cache_limiter = nocache


session.cache_expire = 180


session.use_trans_sid = 0


url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"
Leo
Profil
Tak v prve rade zkuste misto

session_register("x");
$x = 6;

pouzivat primo

$_SESSION['x'] = 6;

a misto

$HTTP_SESSION_VARS

$_SESSION

Za druhe - mate vytvoreny adresar c:/temp, a za treti, mate v prohlizeci zapnute cookies? Leo
Anonymní
Profil *
temp mam a zapnute cookie taky a nějak to pořad nejde zmenil sem to takhle jestli sem to pochopil dobře

<?php
session_start();
if(!session_is_registered("user_register") || $_SESSION["user_register"]<>'web'){
echo $_SESSION["user_register"];
header("location: index.php");
exit;
}
?>

<?php
Header("Pragma: No-cache");
Header("Cache-Control: No-cache, Must-revalidate");
Header("Expires: ".GMDate("D, d M Y H:i:s")." GMT");
session_start();
$_SESSION['user_register'] = "weby";
Aesir
Profil
Anonymní:
Neblokuje vám je firewall?
Leo
Profil
No proste v jednom skriptu napisete

session_start();
$_SESSION['x'] = 5;

a v druhem

session_start();
echo $_SESSION['x'];

Tot vse (a samozrejme je volate v tomto poradi). Leo
davidcoudy
Profil
jinak v tom temp adresaři se mi vytvoří soubor s obsahem
user_register|s:4:"weby";
Leo
Profil
Porad nefunguje? Mate zapnute ty cookies? Kouknete se na http komunikaci klient-server, treba v rozsireni Live HTTP Headers pro Firefox (viz Google). Leo
Anonymní
Profil *
stále nic zapnute cookies mam a tu je vypis

POST /autorizovat.php HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; cs; rv:1.8.0.4) Gecko/20060508 Firefox/1.5.0.4
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/pl ain;q=0.8,image/png,*/*;q=0.5
Accept-Language: cs,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: windows-1250,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://localhost/
Content-Type: application/x-www-form-urlencoded
Content-Length: 33
login=&password=&ok=P%F8ihl%E1sit
HTTP/1.x 302 Found
Date: Sat, 15 Jul 2006 16:47:31 GMT
Server: Apache/2.2.2 (Win32) PHP/5.1.4
X-Powered-By: PHP/5.1.4
Pragma: no-cache
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Set-Cookie: PHPSESSID=fd154b21b8a2f20a9bc1ed70f91c2f9f; path=C:/temp
Location: index.php
Content-Length: 0
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html
Leo
Profil
Problem je tady:

Set-Cookie: PHPSESSID=fd154b21b8a2f20a9bc1ed70f91c2f9f; path=C:/temp

c:/temp jako cesta je nesmysl, Leo
Leo
Profil
Takze zmenit

session.cookie_path = "C:\temp\"

na vychozi

session.cookie_path = /

Bylo to videt hned v tom puvodnim vypisu z phpinfo, ale nevsiml jsem si toho, sorry. Leo
Anonymní
Profil *
I po tý změně stále nic podle mě je chyba v mim serveru asi je špatně nastavenej dřív sem používal Easy php a tam sem skoro nic nenastavovl a ted sem to instaloval vse samotny a zvlast. Asi je tam někde chyba.
Budu muset přejít zpět na starší verzi.
krteczek
Profil
a restartoval jsi server po změně nastaveni?
Anonymní
Profil *
Ahoj, mam stejný problém. Nepoužíváš náhodou mod_vhost_alias? Mam podezření...
Anonymní
Profil *
Mám stejný problém, taky hledám.. Rudolf.
jrm
Profil
1. nejprve udělej co radí Leo s prvním skriptem na "první" stránce:
session_start();
$_SESSION['x'] = 5;

2. pak se podívej do adresáře, ve kterém se ti má vytvořit "sessions_soubor" - zda se soubor vytvořil a že obsahuje tu tvou proměnnou "x" o hodnotě 5. Je to TXT soubor, prohlédneš to i notepadem.

3. pak spusť druhou stránku se skriptem
session_start();
echo $_SESSION['x'];
a prohlížeč by ti měl obrazit hodnotu toho x - čili pětku.

4. podle toho, co se ti udělá nebo nee, uvažuj, kde máš chybu - nebo sem přesně napiš cos jak udělal a s jakou odezvou a někdo ti tu poradí dál.
Anonymní
Profil *
Podle mého názoru session používá cookies, to znamená, že se na to vztahují všechna bezpečnostní opatření v prohlížeči. Zkus nastavit buďto minimální úroveň zabezpečení a nebo povolit cookies nějak jinak. Session bych nikdy nepoužil. Cookies se totiž ukládají na straně klienta a pokud má klient cookies zablokovány, nikdy to nebude fungovat(možná pouze v privátní síti, kde je možný přístup ke klientskému počítači).
Rudolf.
krteczek
Profil
session se pokusí uložit identifikátor v cookii pokud to nejde, tak pošle identifikátor v adrese. (ještě záleží na nastavení serveru).
ten adresář do kterého semá uložit session bych hledal bud v adresáři kde je php nebo apache.
krteczek
Toto téma je uzamčeno. Odpověď nelze zaslat.

0