PDA

Pogčedajte punu verziju : Sesija radi na mom racunaru ali ne i na serveru


Vladimir Rodic
22. 01. 2008., 19:17
Imam problem sa sesijama. Na mom racunaru na serveru mi sve savrseno radi. Evo podesavanja iz phpinfo.php vezano za sesije na dnu posta, a na serveru gde mi ne radi su sledeca podesavanja http://www.sectron.co.yu/administracija/phpinfo.php
Bitna razlika je i da je na mom racunaru instaliran PHP 5.2.3. a na serveru PHP 4.3.9.

Stavio sam na sam pocetak stranice kao prvu naredbu session_start(); i pozivao onda preko $_SESSION['ime_promenjive'].
Pokusao sam i preko registrovanja promenjivih sesije, medjutim ne radi.

Ako neko ima ideju gde je razlika i sto mi sesije rade na lokalnom racunaru a ne rade na serveru

session
Session Support enabled
Registered save handlers files user
Registered serializer handlers php php_binary wddx

Directive Local Value Master Value
session.auto_start Off Off
session.bug_compat_42 On On
session.bug_compat_warn On On
session.cache_expire 180 180
session.cache_limiter nocache nocache
session.cookie_domain no value no value
session.cookie_httponly Off Off
session.cookie_lifetime 0 0
session.cookie_path / /
session.cookie_secure Off Off
session.entropy_file no value no value
session.entropy_length 0 0
session.gc_divisor 100 100
session.gc_maxlifetime 1440 1440
session.gc_probability 1 1
session.hash_bits_per_character 4 4
session.hash_function 0 0
session.name PHPSESSID PHPSESSID
session.referer_check no value no value
session.save_handler files files
session.save_path C:/Users/Roki/AppData/Local/Temp C:/Users/Roki/AppData/Local/Temp
session.serialize_handler php php

Vladimir Rodic
22. 01. 2008., 19:55
Evo i najkraceg primera koda, da ne bude da mi je greska do koda. Ponavljam ovo radi na serveru na mom kompu ali ne i na serveru

STRANICA test.php

<?
session_start();
//istampace se kada se vrati na ovu stranu ponovo
echo $_SESSION['poruka'];
?>
<form action="test2.php" method="post">
<input type="text" name="glupost">
<input type="submit">
</form>



STRANICA test2.php

<?
session_start();
$dolazna = $_SERVER['HTTP_REFERER'];

$_SESSION['poruka'] = 'Ovo si upisao u polje: '.$_POST['glupost'];
header('location:'.$dolazna);
die();
?>

Verovatno je nebitno ali evo tih stranica i na netu na www.sectron.co.yu/bla/test.php

LiquidBrain
23. 01. 2008., 19:19
Ajde da ti pomognemo malo :)

Sesije rade, ali ti header i die prave probleme... Ja recimo imam iskljuceno slanje referera :) I redirekcija kod mene ne radi... :(

A die je potpuno nepotreban u ovom slucaju jer se taj deo koda uopste ni ne izvrsi...

elem stavi za header

header('Location: test.php');


i sve ce lepo da radi...

Vladimir Rodic
23. 01. 2008., 19:58
hvala ti Liquid ali nije bio problem u tome. Naime resio sam ga i problem je bio u tome sto na spornom serveru nije bila ukljucena opcija register_global !!!

Dakle u tome je bio problem. Ne moram da vam kazem kolko sam se napatio da to skontam, kolko se guglalo i maltretirali ljudi a to je trebao da zna po meni sistem admin, jer moj kod je radio lepo na par servera a tu ne jer je bila iskljucena ta opcija. A da vam ne kazem sto mi se nije hteo javljati na mob kad sam mu ga otkrio, jer prethodno nije hteo da mi odgovara na mejlove i na kraju i kada sam mu rekao da proba to da promeni nije hteo dok ga nisu od gore pojurili.

U pitanju je domaci hosting jedan iz Beograda :(

Nemanja Avramović
23. 01. 2008., 20:41
Zašto bi uključivao register_globals? Valjda je bolje da praviš aplikacije tako da ne koriste register_globals? Ima jedan zanimljiv primer na http://php.net/register_globals o tome kako se, kad je register_globals uključen, može zaobići autorizacija ako programer nije pazio dok je pisao aplikaciju ("Example#1 Example misuse with register_globals = on").

Evo od PHP v.6 register_globals direktiva uopšte neće postojati, tako da će tvoj kod verovatno biti nekompatibilan (ako uopšte bude postoji backward compatibility :P)