Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    140

    logout reindirizzamento problemi con IE7

    ciao a tutti
    questa è la mia funzione di logout..
    codice:
    <?php 
    session_start();
    unset($_SESSION['username']);
    session_destroy();
    redirect('home.php',1);
    
    function redirect($url,$tempo = FALSE ){
     if(!headers_sent() && $tempo == FALSE ){
      header('Location:' . $url);
     }elseif(!headers_sent() && $tempo != FALSE ){
      header('Refresh:' . $tempo . ';' . $url);
     }else{
      if($tempo == FALSE ){
        $tempo = 0;
      }
      echo "<meta http-equiv=\"refresh\" content=\"" . $tempo . ";url=" . $url . "\">";
      }
    }
    ?>
    non so perchè con firefox funziona mentre con IE7 no..
    mi succede che con IE quando schiaccio logout, mi scompare la pagina presente e in quel secondo(1sec) in cui mi deve reindirizzare a home.php sembvra che finisca in un loop che non termina piu..

    sapete dirmi come posso aggiustare il codice..o se ne conoscete un altro va bene uguale..
    l'importante è anche evitare il messaggio di errore fastidioso..headers already sent by..

    grazie mille!

  2. #2
    Scusate avevo scritto una cavolata, chiedo perdono.
    Non sono esperto, sono solo curioso.

  3. #3
    Originariamente inviato da jartiello
    modifica la riga:

    if(!headers_sent() && $tempo == FALSE ){

    con

    if(!headers_sent() && $tempo = FALSE ){
    ??

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    140
    è vero cosi va..
    grazie mille!

  5. #5
    azz le cavolate funzionano...povero me!
    Non sono esperto, sono solo curioso.

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    140
    ho appena ricontrollato..e cosi va sia in explorer che in firefox..
    anke se... anke secondo me c'è qualcosa che non va dato che è all'interno di un if..e quindi viene fatto un controllo..
    modificando in questo modo invece viene settato tempo=false..
    ion questo modo funziona..ma forse non è proprio quello che cerco..grazie in ogni caso..

    ci sono per caso altre soluzioni??

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    140
    è cosi difficile..nessuno riesce?

  8. #8
    Originariamente inviato da jartiello
    azz le cavolate funzionano...povero me!
    Non mi risulta funzioni

    Originariamente inviato da produ
    ho appena ricontrollato..e cosi va sia in explorer che in firefox..
    anke se... anke secondo me c'è qualcosa che non va dato che è all'interno di un if..e quindi viene fatto un controllo..
    modificando in questo modo invece viene settato tempo=false..
    ion questo modo funziona..ma forse non è proprio quello che cerco..grazie in ogni caso..

    ci sono per caso altre soluzioni??
    Codice PHP:
    <?php 

    session_start
    ();
    unset(
    $_SESSION['username']);
    session_destroy();

    redirect('home.php',3);

    function 
    redirect($url,$tempo FALSE ){
        if (!
    headers_sent() && $tempo == FALSE ){
            
    header('Location: '.$url);
        } else if (!
    headers_sent() && $tempo != FALSE){
            
    header('Refresh: '.$tempo.'; '.$url);
        } else {
            if (
    $tempo == FALSE){ $tempo 0; }
            echo 
    '<meta http-equiv="refresh" content="'.$tempo.'; url='.$url.'">';
        }
    }

    ?>
    Così funziona

  9. #9
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    140
    non so perchè ma non funziona ancora..
    sempre con IE7 mi succede..entra nel solito loop..e non ne esce piu..
    eppure ho copiato e incollato il tuo codice..

  10. #10
    L'ho provato e va (ma non con IE7)

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.