Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043

    come non fare cadere la sessione?

    Dopo alcuni minuti che non interagisco con il sito mi cade la sessione, c'è un modo per refreshare session_start(); ogni tot minuti in modo che non cada la sessione?

  2. #2
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012

    Re: come non fare cadere la sessione?

    Originariamente inviato da prinzart
    Dopo alcuni minuti che non interagisco con il sito mi cade la sessione
    ...
    provato con un chiodo più grosso?



    scherzi a parte...

    prova con

    Codice PHP:
    ini_set('session.gc_maxlifetime''3600'); 
    dove i 3600 sono secondi (3600/60 = 60 minuti)
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    Grazie, non pensavo fosse così semplice.
    Figurati che io stavo provando questo script che peraltro neanche funzionava:

    Codice PHP:
    <script type="text/javascript"
    function 
    getData() { 
    if (
    window.XMLHttpRequest) { 
    request = new XMLHttpRequest(); 
    } else { 
       
    request = new ActiveXObject("Msxml2.XMLHTTP"); 

    var 
    message""

    var 
    url"

    session_start.php"

    if (
    request) { 
    request.open("POST"url); 
    request.setRequestHeader("Content-Type""application/x-www-form-urlencoded; charset=UTF-8"); //o cmq il charset che usi 
    request.onreadystatechange 
    function() { 
    if (
    request.readyState == 4) { 

    document.getElementById("tabella").innerHTML request.responseText



    request.send(message); 

    else 

    alert("Il tuo browser obsoleto non supporta ajax."); // di default il server fa cadere la sessione dopo 60 minuti di inattività

    var 
    tempo =  setTimeout("getData();",3000000); // 3.000.000 millisecondi = 3.000 secondi = 50 minuti, indicano la frequenza del refresh 

    </script> 
    è così che devo inserirlo nel codice?

    Codice PHP:
    <?php
    ini_set
    ('session.gc_maxlifetime''3000'); // 3.000 secondi = 50 minuti, indicano la frequenza del refresh 
    session_start();
    $conn=mysql_connect("**.***.***.**""Sql*******""*******");
    mysql_select_db('Sql*****_*');
    ?>

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    Ma basta solo questo per non far cadere mai la sessione?

    <?php ini_set('session.gc_maxlifetime', '3600');?>

  5. #5
    Uhm, quella voce dovrebbe dire alla sessione che se non cambi pagina è attiva per 60 minuti, poi scade.

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    Originariamente inviato da goikiu
    Uhm, quella voce dovrebbe dire alla sessione che se non cambi pagina è attiva per 60 minuti, poi scade.
    quindi se anzichè 3600 inserisco 36000, la sessione (dal momento in cui non si interagirà più con la pagina) rimarrà attiva per altre 10 ore?

    <?php ini_set('session.gc_maxlifetime', '36000');?>

    se è così allora per me potrebbe andare bene

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    Niente, appena testato, anche questo codice non va.

  8. #8
    Potresti provare ad usare il sistema che usano alcuni forum.

    Sessioni + cookie, è un sistema complesso ma che funziona, dovresti trovare un'articolo o due sul sito di php.html.it

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.