Salve a tutti, ho un problema che mi sta facendo uscire pazzo, la situazione è questa:
Ho uno script uno.php fatto così:
Codice PHP:<?
session_start();
$session_id = session_id();
print "SESSIONID = $session_id";
$_SESSION['PROVA']=1;
header("location: due.php");
exit;
?>
Lo script due.php è fatto così:
Codice PHP:<?
session_start();
$prova = $_SESSION['PROVA'];
print "$ciccio";
exit;
?>
il webServer è IIS è su un server win2003 che si trova in una intranet aziendale,
Ora, se punto questa pagina così:
http://nomeserver/uno.php
Funziona alla grande, cioè viene creata la sessione (ho verificato che la scive su file nel path corretto indicato nel php.ini) e viene chiamato lo script due.php che vede correttamente il valore di $prova
E fin qui OK, però c'è un maledetto DNS (che non gestisco io e non so come funziona) che in sostanza al mio webserver;
in questo caso se chiamo lo script con:
http://NOMEDNS/uno.php
lo script uno.php crea la sua sessione (e infatti scrive sul filesystem il file di sessione), ma poi quando richiama due.php questo perde la sessione e ne crea una nuova (infatti mi crea un nuovo file su filesystem) e ovviamente non sa valorizzare $prova
Le ho provate tutte, ma non riesco proprio a capire da cosa dipende.
Ora io avevo messo su 2 soluzione (che non mi piacciono per niente) e che sono:
1) Mettere come index.php uno script che fa una redirect usando il nomeserver, cioè una cosa simile:
In questo modo bypasso il DNS e funziona (ma questa cosa non piace ai responsabili !!!)Codice PHP:<?
header("location: [url]http://NOMESERVER/uno.php[/url]");
?>
2) ancora più brutta:
Uso il DNS ma lo script uno.php quando chiama due.php gli passa come parametro la sessione, appena avvio due.php setto session_id con questo parametro e la cosa funziona... ma è un vero schifo....
Come posso fare per far funzionare la cosa senza fare questi salti mortali...
PS. credo che il problòema sia proprio del DNS perchè nell'altra modalità funziona correttamente....
Ciaoooo

Rispondi quotando

