• User Newbie

    sessione PHP

    Perchè questa pagina non funziona sul server1 e funziona invece su un altro server.
    Tutti e 2 i server hanno register_globals=off

    1. link al 1 server
      arredastickers.com/testGBsessione.php
    2. link ad altro server
      arredastickers.nozonenet.com/testGBsessione.php

    Nel caso 1.
    Ad ogni refresh della pagina:
    non viene letta la variabile di sessione.
    la variabile session_id() viene letta ad ogni pagina come se fosse una nuova sessione.

    Nel caso 2.
    Ad ogni refresh della pagina:
    viene letta la variabile di sessione.
    la variabile session_id() viene mantenuta costante.

    Questo è il codice della pagina

    <?php session_start();?>
    sessione attivata <hr>

    <?php
    echo "pagine viste dallo stesso utente PRIMA = ". $_SESSION['views'] . "<br>";

    if(isset($_SESSION['views']))
    $_SESSION['views'] = $_SESSION['views']+ 1;
    else
    $_SESSION['views'] = 0;

    echo "pagine viste dallo stesso utente DOPO = ". $_SESSION['views'] . "<br>";
    ?>

    <?php
    $idGB=session_id();
    echo "<hr>id di sessione = '". $idGB ."'";
    ?>

    Questo è l'errrore che mi dà sul server 1:

    [26-Apr-2010 10:17:49]
    PHP Warning: session_start() [<a href='function.session-start'>function.session-start</a>]:
    Cannot send session cookie - headers already sent by (output started at /home/arredast/public_html/testGBsessione.php:2)
    in /home/arredast/public_html/testGBsessione.php on line 2
    [26-Apr-2010 10:17:49]
    PHP Warning: session_start() [<a href='function.session-start'>function.session-start</a>]:
    Cannot send session cache limiter - headers already sent
    (output started at /home/arredast/public_html/testGBsessione.php:2)
    in /home/arredast/public_html/testGBsessione.php on line 2

    Mentre sul server 2 non c'è traccia di errore.

    Ciao.
    Vi ringrazio anticipatamente.


  • User

    Sicuramente hai qualcosa prima di questa istruzione
    <?php session_start();?>

    magari uno spazio al di fuori dei tag php,
    oppure una linea vuota, che ti genera un output prima che i cookies vengano impostati,
    da cui l'errore.