Newsgroup: it.comp.www.php
Titolo: [lungo] Ancora sessioni: qualche domanda

Non sono espertissimo di php e sto cercando di comprendere meglio come
funzionano le sessioni.
Innanzi tutto mi sembra di capire che session_register non è + usato per
motivi di sicurezza e che è preferibile usare $_SESSION['parametro'] = ....
Primo problema: con session_start(); si incomincia o si continua una
sessione. In realtà ogni volta che lo uso si crea una nuova sessione (me ne
accorgo perchè nella cartella /tmp si crea ogni volta un file nuovo). Devo
utilizzare session_start() in ogni mio script?
Secondo: mi chiedevo poi perchè per usare le sessioni devono essere attivi i
cookie. Infatti ho notato che dopo aver dato inizio alla sessione non mi si
crea nessun nuovo cookie (nella cartela c:\document....\...\cookies\).
Terzo: data tutta la confusione che ho in testa non capisco proprio perchè
non funziona un semplice script che sto provando. Uso un form html per
passare dei parametri ad uno script che li memorizza (sessione.php) in una
sessione e poi un altro script per visualizzarli (vedi.php)
sessione.php:
    <?php
    session_start();
    $_SESSION['nome'] = $_POST['nome'];
    $_SESSION['dip'] = $_POST['cognome'];
    ?>
    <a href="vedi.php">Vedi dati</a>
vedi.php:
    <?php
    echo ($_SESSION['nome']);
    echo ($_SESSION['cognome']);
    ?>
Ma non mi viene visualizzato nulla. Nella cartella /tmp il file di sessione
è stato correttamente creato e compilato. Se in vedi.php metto un
session_start() si crea una nuova sessione (in /tmp si crea un nuovo file
vuoto) e non risolvo il problema!
Sareste così gentili da chiarirmi un pochino le idee?
    grazie per l'attenzione
Roberto

 Ma non mi viene visualizzato nulla. 
Sei sicuro? A parte il fatto che senza session_start () non funzionera'
mai. Per quale motivo cerchi di accedere a $_SESSION['cognome'] quando
hai impostato $_SESSION['dip']? Come hai configurato l'error_reporting
(
http://www.php.net/error_reporting
) ?
-- 
I am what I am, I do what I can
Sei un newbie? Leggi questo 
http://url.repository.biz/go/1
Inviare email con allegati? 
http://url.repository.biz/go/x

Roberto wrote:
 > Non sono espertissimo di php e sto cercando di comprendere meglio come
 > funzionano le sessioni.
Cosa intendi con "si incomincia o si continua una
sessione"?
Con session_start attivi la gestione della sessione, se poi l'id di 
sessione è il medesimo la sessione "è continuata" altrimenti
i cookies di sessione vengono memorizzari in ram, per questo
in vedi.php non è attivata la sessione (session_start)

 Terzo:
Risolvi i primi due
Ludovico

SlapHP wrote:

ho perso un pò di testo per la strada.. ignorate.

Grazie a tutti per le risposte. Mi sfuggiva il concetto di dover passare il
PHPSESSID.
Credevo che per qualche magico motivo questo venisse propagato
automaticamente e bastasse solo usare session_Start() in ogni script. Ho
risolto in questo modo:
sessione.php:
<?php
session_start();
$_SESSION['nome'] = $_POST['nome'];
$_SESSION['dip'] = $_POST['dipartimento'];
$_SESSION['stipendio'] = $_POST['stipendio'];
$_SESSION['sede'] = $_POST['sede'];
$id = session_id();
echo "<a href=dati.php?id=$id>Vedi dati</a>";
?>
dati.php:
<?php
$PHPSESSID = $_POST['id'];
session_start();
$sede = $_SESSION['sede'];
$nome = $_SESSION['nome'];
print "$sede - $nome";
?>
grazie ancora a tutti
    Roberto
"Setec Astronomy" <setec@_NO_NOSPAM_freemail.it> ha scritto nel messaggio
news:42uNb.253314$vO5.10...@twister1.libero.it...


 automaticamente e bastasse solo usare session_Start() in ogni script.
Se e' configurato correttamente PHP passa l'ID di sessione tramite
cookie (anch'esso di sessione) od effettua automaticamente la
riscrittura degli url se trans sid e' attivato.


 riscrittura degli url se trans sid e' attivato.
In effetti mi sono accorto che molto dipende dalla configurazione di php.
Ad esempio lo script che ho detto che funziona in realtà funge sul mio
spazio gratuito tripod mentre in locale sul mio computer ho dovuto
aggiungere la riga:
session_id($PHPSESSID) prima si session_start().
    ciao

 riscrittura degli url se trans sid e' attivato.
Scusami..l'ultima cosa:
come configuro il php.ini affinchè l'id di sessione venga passato in
automatico tramite cookies. Ho agito su session.use_cookies ma non ho avuto
risultati.
Infine volevo chiederti se è consigliabile sfruttare il passaggio automatico
dell'id (tramite url o cookies) o conviene utilizzare un sistema (per così
dire) artigianale.
ciao e grazie ancora
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

Il 16 Gen 2004, 00:30, "Setec Astronomy" <setec@_NO_NOSPAM_freemail.it> ha
scritto:

--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 sistema (per cosl dire) artigianale.
C'e' il 99% delle probabilita' che PHP accia le cose meglio che un
"artigiano".
