Newsgroup: it.comp.www.php
Titolo: anomalia nell'utilizzo delle session

ciao a tutti.
ho il seguente codice:
define("K_PROFILO_AZIENDA", "A");
define("K_PROFILO_SCUOLA", "S");
session_start();
$profilo = ($_SESSION['profilo'] == K_PROFILO_AZIENDA) ? 
K_PROFILO_SCUOLA : K_PROFILO_AZIENDA;
echo $_SESSION['profilo'] . " -- " . $profilo;
in pratica $profilo deve valere l'opposto di $_SESSION['profilo'], me se 
stampo i valori sono sempre gli stessi e ogni volta che ricarico la 
pagina sono invertiti!
dove sbaglio?
Daniele

 la pagina sono invertiti!  dove sbaglio?
Quando assegni un valore a $_SESSION['profilo']?
Attento a register_globals.
-- 
I am what I am, I do what I can
Sei un newbie? Leggi questo 
http://url.repository.biz/go/3C
Vuoi supportarmi? 
http://url.repository.biz/go/3E
Do. Or do not. There is not try.

 
non lo utilizzo..
e cmq non ha senso che ogni volta mi viene riassegnata la session..

cujo wrote:

Cavolo che storia!
ho cambiato nome e funziona.
l'ho ripristinato ed ho messo a false register_globals: madonna che 
macello!
non capisco l'utilità di averlo a true per default: è assurdo. boh.
cmq grazie

 non capisco l'utilità di averlo a true per default: è assurdo. boh.
E infatti è qualche ANNO che il default è OFF.
:)


 ciao, f.
io ho installato l'ultima versione di xampp con php 5.xxx ed è per 
default a ON. occhio quindi...
daniele

 daniele
non so cosa sia xampp, ma ti posso assicurare che di default e' OFF e 
anzi spero proprio che prima o poi lo tolgano perche' genera 
un sacco di problemi di sicurezza

 default a ON. occhio quindi...
... ci sto facendo la tesi sul php5, e ti assicuro che è OFF. :)
(versione ufficiale liscia, per linux, da sorgente).
Lo "switch" del default di register_globals da ON a OFF fu fatta già 
dalla 4.qualcosa. Ricordo bene quel periodo perchè UN SACCO DI GENTE 
smadonnò perchè le applicazioni, di colpo, non funzionavano più.


cujo wrote:
root@slack:/# cat /usr/local/src/php-5.0.3/php.ini-recommended |grep 
"register_globals ="
; - register_globals = Off         [Security, Performance]
register_globals = Off
                    ^^^
root@slack:/# cat /usr/local/src/php-5.0.3/php.ini-dist |grep 
"register_globals ="
register_globals = Off
                    ^^^
root@slack:/#
Sono i due modelli di php.ini compresi nei SORGENTI del 5.0.3. OFF su 
entrambi.


cujo wrote:

php.exe ver. 5.0.3.3.
installato con xampp : default ON...
cmq sia, ora ho messo su OFF..
ciao
Daniele

 cmq grazie
Funziona perchè hai cambiato nome, piu' che per il register globals; ti  
posto quà la mail che ho mandato ad alcuni colleghi, un settaggio di php  
che è a ON, perlomeno sul nostro server (è quello che succede quando ti  
fai convincere dai sistemisti ad installare pacchetti redhat  
pre-confezionati), se ne fotte altamente del register globals.
Nel nostro caso il carrello caricava sè stesso con questo codice
all'interno del costruttore:
  $this->items = $_SESSION['cart']
nel codice la classe veniva instanziata così:
$cart=new msite_cart();
leggete quà:
session.bug_compat_42  boolean
PHP versions 4.2.0 and lower have an undocumented feature/bug that
allows you to to initialize a session variable in the global scope,
albeit register_globals is disabled. PHP 4.3.0 and later will warn
you, if this feature is used, and if session.bug_compat_warn is also
enabled.
Questo porta al carrello ricorsivo che farebbe felice ogni massaia.
$cart=$_SESSION['cart'] //succede automaticamente a causa di quanto
                         //scritto sopra
$cart= new msite_cart();
poi
  $this->items = $_SESSION['cart']
quindi
$cart->items= $cart
Piu' volte si preme refresh piu' in profondità si và.
Questo setting di php è presente per mantenere la compatibilità con le
versioni obsolete.
Per verificare il setting basta un semplice phpinfo()
Tac
-- 
Using Opera's revolutionary e-mail client: 
http://www.opera.com/m2/

> A questo punto... cos'e' xampp ?
http://www.apachefriends.org/en/xampp.html