Newsgroup: it.comp.www.php
Titolo: Problema PHP - SESSIONI (x esperti)

Salve, ho sviluppato una applicazione che funziona con una precedente  
versione di PHP, oggi abbiamo aggiornato il PHP sul server e le sessioni  
non funzionano piu', qualcuno ha qualche idea? posto lo script che ho  
fatto per dimostrare che le sessioni non funzionano?? Dove sbaglio?  
 
E' cambiato qualcosa?  
 
Grazie,  
 
<?php  
 
ini_set("session.use_trans_sid", 1);  
ini_set("session.use_cookies", 0);  
 
session_start();  
 
echo "<HTML>\n";  
echo "<BODY>\n\n";  
 
if (!$_SESSION["username"])  
{  
         $PHPSESSID = session_id();  
 
        $_SESSION["username"] = "username_autenticazione";  
        session_register($_SESSION["username"]);  
        $_SESSION["cliente"] = "cliente_autenticazione";  
        session_register($_SESSION["cliente"]);  
        echo "<A HREF=$PHP_SELF?PHPSESSID=$PHPSESSID>Settaggio sessione  
effettuato</A>\n";  
}  
else  
{  
        $username_autenticazione = $_SESSION["username"];  
        $cliente_autenticazione = $_SESSION["cliente"];  
        echo "La sessione e': $username_autenticazione -  
$cliente_autenticazione\n";  
}  
 
echo "</BODY>\n";  
echo "</HTML>\n";  
 
?>  
 
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

         session_register($_SESSION["cliente"]);  
il session_register(), non ce ne e' bisogno. (eppoi cosi' e' pure
cannato mi sa)
o fai:
$_SESSION["username"] = "username_autenticazione";
oppure
session_register("username");
$username =  "username_autenticazione";
ma la prima e' meglio anche perche' implicitamente registra una var
nella sessione oppure ne recupera il valore...la seconda non credo
funzioni piu' con le nuove versioni di php (o probabilmente la sintassi
e' cambiata leggermente)
Ciro.

Aiutatemi.. ho un server in cui funziona e un altro no.. che succede?? 
 
<?php 
 
ini_set("session.use_trans_sid", 1); 
ini_set("session.use_cookies", 0); 
 
session_start(); 
 
echo "<HTML>\n"; 
echo "<BODY>\n\n"; 
 
if (!$_SESSION["username"]) 
{ 
        $PHPSESSID = session_id(); 
 
        $_SESSION["username"] = "username_autenticazione"; 
        $_SESSION["cliente"] = "cliente_autenticazione"; 


credo che sia una questione di header, le sessioni se non  mi sbaglio
utilizzano degli header che vengono inviati puntualmente (alla registrazione
o alla lettura) tra client e server, se non erro, tu richiedi le sessioni o
cmq le scrivi dopo che hai già inviato degli header (in quanto hai già
stampato dell'html) nel tuo caso i tags html e body.
In pratica sposta la lettura delle sessioni all'inizio della pagina prima di
qualsiasi output html e dovrEBBBBBE funzionare....
apollo

In un file da includere ALL'INIZIO del file ho la definizione delle
variabili. Se a te serve solo una volta puoi inserirlo direttamente
ALL'INIZIO del file stesso.
// session_name("nome della sessione");
// facoltativo se si usa solo una sessione
session_start();
if(is_array($_POST)) {
    $_p = &$_POST;
    $_s = &$_SESSION;
    $_g = &$_GET;
} else {
    $_p = &$HTTP_POST_VARS;
    $_s = &$HTTP_SESSION_VARS;
    $_g = &$HTTP_GET_VARS;
}
In qualsiasi punto del file uso questo codice per la memorizzazione delle
sessioni
$_s['_username'] = "username_autenticazione";
$_username = $_s['_username'];
// session_name("nome della sessione");
session_register('_username');
A me funziona sempre (meglio non dirlo troppo forte :)) )
Ciao