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

    [PHP] Page reload difficoltoso con firefox

    Di nuovo, buona estate a tutti.

    Uso questo semplicissimo script per cambiare il foglio di stile css associato alla pagina e mantenerlo tramite cookie;
    Codice PHP:
    <?php
    setcookie
    ("skin"$_GET["skin"], time()+31536000);
    header("Location:".$HTTP_SERVER_VARS["HTTP_REFERER"]);
    ?>
    con Internet explorer il reload è automatico, con Firefox invece no: a volte lo fa subito, altre devo schiacciare due o tre volte il link, altre ancora devo premere F5 o il tasto AGGIORNA del browser.

    Ho provato a cambiare la riga
    Codice PHP:
    header("Location:".$HTTP_SERVER_VARS["HTTP_REFERER"]); 
    con:
    Codice PHP:
    $PHP-SELF
    poi ho provato a tenerle entrambe, senza risultati (o meglio, con IE sempre reload al primo colpo, con FF sempre difficoltà)

    Sto sbagliando io? Cosa si usa per un reload immediato della pagina? :master:

  2. #2
    beh ... essendo pagine dimaniche devi avvisare il browser di non usare la cache

    Firefox riceve tramite header che non ci sono state modifiche e quindi carica la cache per risparmiare banda

    basta che invii gli headers no-cache corretti (ti basta fare una ricerchina nel forum per trovarli)
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  3. #3
    Ho inserito questo nel tag head:
    codice:
    <META HTTP-EQUIV="Pragma" CONTENT="no-cache">
    ma non sembra cambiare nulla.

    Allora ho disabilitato la cache del browser... lo stesso

    cosa può essere?
    Esiste qualche altro comando php per fare il reload della pagina?

  4. #4

    risolto

    Ho capito tutto:

    il reload funziona, ma sembra che firefox sia più lento di IE nello scrivere il cookie.

    Almeno, in IE la cosa è impercettibile, con FF devo aspettare almeno uno secondo prima di cambiare css. Se aspetto, funziona *sempre*

    lato server la cosa è irrisolvibile, perciò morta lì

  5. #5
    io non ho mai avuto di questi problemi

    fa attenzione ... xche se il css lo emetti tramite php allora devi inviare l'header http apposito anche li
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  6. #6
    Non ho capito cosa intendi... il css lo invio tramite php, si

    questo è il codice che ho nell'header:
    Codice PHP:
    <? if(isset($_COOKIE["skin"])){
        
    $skin=$_COOKIE["skin"];
        print(
    "<link rel=\"stylesheet\" type=\"text/css\" href=\"$skin.css\" media=\"screen\">\n");
        }
    else
        print(
    "<link rel=\"stylesheet\" type=\"text/css\" href=\"arancio.css\" media=\"screen\">\n");
    ?>
    e per richiamarli: setskin.php?skin=metal
    il codice si setskin.php è questo
    Codice PHP:
    <?php
    setcookie
    ("skin"$_GET["skin"], time()+31536000);
    header("Location:".$HTTP_SERVER_VARS["HTTP_REFERER"]);
    ?>
    così funziona (con quel secondo di delay x firefox)
    che header http dovrei inviare? non ho capito

  7. #7
    fa attenzione ... xche se il css lo emetti tramite php allora devi inviare l'header http apposito anche li
    Che header?
    Occhiali da Sole www.OtticaGold.it
    Marche: Diesel, Dior, Emporio Armani, Gucci, Oakley, Oxydo, Police, Ray-Ban, Roberto Cavalli, Valentino, Vogue - Per le altre... cerca su google.it

  8. #8
    daniele intende una cosa tipo questa

    print("<link rel=\"stylesheet\" type=\"text/css\" href=\"css.php?nome=skin\" media=\"screen\">\n");

    in questo caso il file php restituisce codice css quindi deve essere modificato il content-type con header()

    ma in questo caso il problema non sussiste

  9. #9
    in questo caso il file php restituisce codice css quindi deve essere modificato il content-type con header()
    X nn andare fuori tema cmq è un file di testo il css che viene generato dal file css.php e non dovrebbe aver bisogno di header aggiuntivi ma di un semplice echo
    Occhiali da Sole www.OtticaGold.it
    Marche: Diesel, Dior, Emporio Armani, Gucci, Oakley, Oxydo, Police, Ray-Ban, Roberto Cavalli, Valentino, Vogue - Per le altre... cerca su google.it

  10. #10
    Utente di HTML.it L'avatar di dany-
    Registrato dal
    Jul 2000
    Messaggi
    365
    Ho trovato questa discussione vecchissima con google

    A me tutto ok con FF e con IE in locale, quando invece carico tutto sul mio spazio web non funziona con IE (ci avrei scommesso.. )

    Il codice è questo:

    codice:
    header("Location:".$HTTP_SERVER_VARS["HTTP_REFERER"]);
    e ho visto stampando la variabile che in effetti è vuota..

    Il problema è che la pagina di partenza che porta alla setstyle.php non è sempre la stessa.. e devo cmq tornare indietro.. potete aiutarmi..?

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.