Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    [php] sessioni errori vari

    ho questo codice di prova:


    pagina principale:

    codice:
    <?php
    session_start();
    
    $nome_utente = "francesco";
    
    $_SESSION['nome_utente'] = $nome_utente;
    ?>
    
    PAGINA 1
    
    PAGINA 2
    pagina session1-1.php:
    codice:
    <?php
    session_start();
    ?>
    
    session 1-1.php 
    
    
    
    <?php
    	$nome_utente = $_SESSION['nome_utente'];
    	
    	echo "dalla pagina 1 : $nome_utente";
    ?>
    pagina session1-2.php:
    codice:
    <?php
    session_start();
    ?>
    
    session 1-2.php
    
    
    
    <?php
    	$nome_utente = $_SESSION['nome_utente'];
    	
    	echo "dalla pagina 2 : $nome_utente";
    ?>

    ma già dalla pagina principale mi restituisce questi warning:
    codice:
    Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /var/www/html/test_php/session1.php:2) in /var/www/html/test_php/session1.php on line 3
    
    Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /var/www/html/test_php/session1.php:2) in /var/www/html/test_php/session1.php on line 3
    e nelle pagine successive non riesco a stampare il nome utente.

    dove è che non va il codice????

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141
    prima di session_start(); hai qualche output(tipo echo)???
    prova a mettere session_start(); come prima istruzione della tua pagina...
    ciao

  3. #3
    è già la prima istruzione della pagina

    codice:
    pagina principale:
    
    code:<?php
    session_start();
    
    $nome_utente = "francesco";
    
    $_SESSION['nome_utente'] = $nome_utente;
    ?>
    
    PAGINA 1
    
    PAGINA 2
    altri suggerimenti??

  4. #4
    risolto, nel codice php prima di aprire il blocco php cìera uno spazio vuoto in html.

    grazie ken84

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    534
    Il codice che hai postato va. Hai qualcosa d'altro nei tuoi script.

    Il warning riferisce linea 3 ????


  6. #6
    ho risolto, c'era uno spazio vuoto, ora, vorrei sapere come recuperare l'SID della sessione, premetto che su phpinfo() mi dice che php è stato compilato con le opzioni:
    codice:
    '--enable-track-vars' '--enable-trans-sid
    ora, nel codice che ho postato se passo da una pg all'altra non vedo l'SID ne sulla stringa del browser ne recuperandolo con questo codice:

    codice:
    echo "SID : " . SID;
    cosa vuol dire??????

    come faccio a recuperare la session ID??

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    534
    echo session_id();

    Se guardi in tmp o dove memorizzi i file di sessione, troverai un file di nome sess_* seguito dal numero di sessione. Se lo apri con notepad puoi leggere serializzato i dati passati con $_SESSION.

    Quando apri una pagina con session_start() viene letto il coockie di sessione dal browser. Se esiste viene cercato il file con il nome corrispondente e se esiste e in tempo di vita valido viene riassegnato.


  8. #8
    quindi non c'è bisogno di passarla tramite querystring

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    534
    Originariamente inviato da f.domenella
    quindi non c'è bisogno di passarla tramite querystring
    A seconda del settaggio del php.ini sezione [session] si hanno comportamenti diversi, nel modo e nella tempistica.

    Normalmente la sessione viene memorizzata nel browser con un cookie temporaneo. Il nome lo stabilisci in php.ini. Temporaneo perchè muore con la chiusura del browser, o per time-out (sempre in php.ini).

    php offre la possibilità di passare l'id di sessione "automaticamente", cioè senza impostare nulla, via URL, nel caso i cookies fossero disabilitati nel browser. In questo modo potrà recuperare la sessione perchè direttamente indirizzata, ma visibile ed alterabile da chiunque.

    Un esempio: chiudo i cookie, chiamo la pagina e mi identifico, passo alla pagine seguente, vedo l'id di sessione nell'URL. Lo copio e lo invio per e-mail ad altra persona. Questo copia l'indirizzo nella barra del browser e si connette.


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.