Visualizzazione dei risultati da 1 a 10 su 32

Hybrid View

  1. #1
    Guest
    Registrato dal
    Jun 2012
    residenza
    Espoo, Finland
    Messaggi
    286
    Quote Originariamente inviata da manuel81pd Visualizza il messaggio
    Ti rispondo cos� : via Ajax accedo alla pagina, viene fatto il controllo via PHP se la sessione � attiva, non essendo la sessione attiva richiama la pagina di login; solo che la richiama dentro il div come risposta alla chiamata Ajax! Ma � logico e ci sta ed � il problema che ho !

    Detto questo, mi potete aiutare a controllare se la sessione � attiva prima della chiamata Ajax ?
    Normalmente questo genere di cose si gestisce nel modo che ti ho gia' suggerito, cioe' controllando lo status code del response dell'AJAX request e se questo e' 401 fare redirect, con JavaScript, alla pagina di login. Con questo si assume che la pagina server side che risponde alla AJAX request non faccia nessun redirect se la sessione e' scaduta e ritorni semplicemente un 401. Questa e' la normale procedura per questo genere di cose.


    Non mi servono congetture solo come si scrive il codice tutto qua!
    Io sto provando ad aiutarti ma se le mie "congetture" non ti vanno bene allora aspetta che risponda qualcun altro.

  2. #2
    Quote Originariamente inviata da Little Hawk Visualizza il messaggio
    Normalmente questo genere di cose si gestisce nel modo che ti ho gia' suggerito, cioe' controllando lo status code del response dell'AJAX request e se questo e' 401 fare redirect, con JavaScript, alla pagina di login. Con questo si assume che la pagina server side che risponde alla AJAX request non faccia nessun redirect se la sessione e' scaduta e ritorni semplicemente un 401. Questa e' la normale procedura per questo genere di cose.




    Io sto provando ad aiutarti ma se le mie "congetture" non ti vanno bene allora aspetta che risponda qualcun altro.
    Abbi pazienza, non volevo essere scortese ma mi serve il codice! Non so come scriverlo! Questo chiedo!

  3. #3
    Guest
    Registrato dal
    Jun 2012
    residenza
    Espoo, Finland
    Messaggi
    286
    Quote Originariamente inviata da manuel81pd Visualizza il messaggio
    Abbi pazienza, non volevo essere scortese ma mi serve il codice! Non so come scriverlo! Questo chiedo!
    Ricapitolando:

    1. La pagina che risponde alla richiesta AJAX deve ritornare un 401 se la sessione e' scaduta. Puoi postare il codice di questa pagina cosi' vediamo un po' perche' non ritorna un 401 in questo caso? Se non ho capito male hai detto che lo status code e' invece 200.

    2. Quando la richiesta risulta in un 401 allora cambia la location con la pagina di login:

    codice:
    $.ajax({
      ...
      error: function(xhr, desc, err) {
        if (xhr.status === 401) {
          location.href = "/pagina-di-login";
        } else {
          // Per es. 422 nel caso di validazione del form fallita
          // in questo caso visualizzare messaggi di errore etc.
        };
      }
    });

    3. Potresti anche fare in modo che cio' accada per tutte le richieste AJAX con qualcosa del genere:

    codice:
    $(document).ajaxError(function(event, xhr, settings, exception) {
      if (xhr.status === 401) {
        location.href = "/pagina-di-login";
      };
    });

  4. #4
    Abbi pazienza, vuoi vedere il codice della pagina in php che controlla la sessione?

  5. #5
    Guest
    Registrato dal
    Jun 2012
    residenza
    Espoo, Finland
    Messaggi
    286
    Quote Originariamente inviata da manuel81pd Visualizza il messaggio
    Abbi pazienza, vuoi vedere il codice della pagina in php che controlla la sessione?
    Si'

  6. #6
    Quote Originariamente inviata da Little Hawk Visualizza il messaggio
    Si'
    <?php


    $minutes=5;//Setta logout in minuti

    if (isset($_SESSION["time"])) {
    $sessionTTL = time() - $_SESSION["time"];
    if ($sessionTTL > $minutes*60) {
    session_unset();
    session_destroy();
    header("location:index.php");//redirect user to a login page or any page to which we want to redirect.
    }
    }else {
    session_unset();
    session_destroy();
    header("location:index.php");//redirect user to a login page or any page to which we want to redirect.
    }


    $_SESSION["time"] = time();

    ?>

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.