Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 21
  1. #1

    session logout problemoneee!!!!!

    salve ragazzi! prima di dirmi che c'era gia una discussione aperta riguardante lo stesso problema vi premetto che le ho lette tutte...allora il mio problema avviene quando effettuo il logout dal sito...premendo il backarrow del browser magicamente sono di nuovo loggato..ma se faccio il refresh della pagina non lo sono piu...è probabile che siano i cookies non ne ho la piu pallida idea...so solo che il mio log out è fatto cosi

    <?php

    session_start();
    session_destroy();
    unset($_SESSION);
    header("location: body.php");
    ?>

    vi prego aiutatemi...

  2. #2
    Ahem, temo che quello che dici sia cosa normale o.0 che tramite la pressione del tasto back la gente veda l'ultima pagina (in cache e/o simili), in realtà non sono loggati, vedono solo la pagina prima che si sloggassero. Se refreshano e/o cambiano pagina ovviamente non esistendo la sessione il sistema li sputa fuori.

  3. #3
    infatti è quello che ho trovato su internet...tutti dicono sia cosa normale...ma siccome è per un progetto di università e la scorsa volta ci hanno seccato proprio per questo dove diamine devo sbattere la testa per far si che non avvenga ciò che avviene?

  4. #4
    Che io sappia non puoi farlo.
    Anche impostando su tutte le pagine la voce no-cache dovrebbe accadere comunque, è una cosa del browser.
    Poi lascio la parola ad altri, buona fortuna.

  5. #5
    grazie comunque!

  6. #6
    altre risposte??? ve prego so messo cosi----->

  7. #7
    Utente di HTML.it L'avatar di *pragma
    Registrato dal
    Sep 2001
    Messaggi
    1,087
    se nella pagina protetta non si arriva dopo l'invio con un submit di un form (non ci sono $_POST) allora sarà sufficiente scrivere:
    <?php
    session_cache_limiter('private');
    session_start();
    ....
    ?>
    se invece nella pagina ci sono dei $_POST (p.es il login dell'utente) allora dalla pagina del form devi inviare i dati ad una pagina che, dopo aver valorizato una sessione, fa un reindirizzamento ad un'altra pagina:
    <?php
    session_cache_limiter('private');
    session_start();
    if(empty($_POST['invio']) OR empty($_POST['nome']) OR ....) {
    $_SESSION = array();
    session_unset();
    session_destroy();
    header("location: index.php");
    exit();
    }
    if( ... tutti i controlli di validazione .. dei dati passati da form) {
    $_SESSION['nome'] = $_POST['nome'];
    ...................................
    heder("location: pagina_successiva.php");
    exit();
    }
    ?>
    e nelle pagine successive (protette) sempre
    <?php
    session_cache_limiter('private');
    session_start();
    ....
    ?>
    <HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE"> dell'html non serve a niente
    N.B. NON funziona con OPERA 10
    se qualche anima esperta passa da queste parti, dia indicazioni pure per questo browser
    ciao

  8. #8
    innanzitutto grazie! ho provato la prima soluzione dal momento che non ci sono $_POST ma sfortunatamente non funziona non so ndo sbatte la testa veramente...adesso proverò col secondo metodo...

  9. #9
    che poi mi sa di aver capito quello che dicevi nella seconda soluzione...io lo faccio già o almeno credo...mando le variabili del log-in ad un gateway.php che prepara la session...con tutte le variabili di sessione...adesso ho aggiunto anche session_cache_limiter('private'); pure nel gateway...ma nulla...non funge proprio... grazie 1000 lo stesso!

  10. #10
    Utente di HTML.it L'avatar di *pragma
    Registrato dal
    Sep 2001
    Messaggi
    1,087
    Ho sbagliato il codice iniziale. Nella tua pagina devi scrivere
    ini_set("session.cache_limiter", "privare");
    Resta da risolvere il problema con Opera-10
    ciao

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 © 2024 vBulletin Solutions, Inc. All rights reserved.