Salve a tutti, ho trovato una piccola anomalia con la funzione "session_set_cookie_params" di PHP mentre stavo programmando. Praticamente se io imposto il cookie PHPSESSID con un lifetime ad esempio 3600 con questa funzione funziona (che gioco di parole) e su Mozilla FireFox non ci sono problemi invece con MSIE come al solito si!
Facciamo alcuni esempi.
Prendete questo file e copiatelo sul vostro server, chiamatelo come volete:
Ora chiudete il browser (è necessario), copiatevi quest'altro file e richiamatelocodice:<?php // prima.php session_start(); // inizio la sessione session_set_cookie_params(3600); // imposto un lifetime piu lungo session_register("var"); // registro la var $_SESSION["var"]="variabile"; // setto la var print($_SESSION["var"]); // la stampo print(" "); print($_COOKIE["PHPSESSID"]); // stampa l'id di sessione print(" "); print_r(session_get_cookie_params()); // ottengo le conf. del cookie PHPSESSID ?>
Se usate Mozilla richiamando la prima pagina, chiudendo il browser e riaprendo la seconda pagina si puo leggere l'id di sessione e il valore della variabile di sessione. Facendo lo stesso processo con MSIE nella seconda pagina non si vede niente almeno a me cosi capita!codice:<?php // seconda.php session_start(); // inizio la sessione print($_COOKIE["PHPSESSID"]); // stampo l'id sessione print(" "); print($_SESSION["var"]); // stampo la var ?>
Ho risolto cosi:
Poicodice:<?php // prima.php session_start(); setcookie("PHPSESSID", session_id(), time()+3600); // setto il cookie manualmente session_register("var"); $_SESSION["var"]="variabile"; print($_SESSION["var"]); print(" "); print($_COOKIE["PHPSESSID"]); print(" "); print_r(session_get_cookie_params()); ?>
Sarà quache mancato supporto di MSIE per quanto riguarda il protocollo HTTP?codice:<?php // seconda.php session_start(); print($_COOKIE["PHPSESSID"]); print(" "); print($_SESSION["var"]); ?>![]()
Nel senso che la sintassi usata per settare quel cookie non è valida per MSIE? :master:
Va bene il codice creato da me in sostituzione? Perche io non so come lavora la funzioni session!![]()

Rispondi quotando