Visualizzazione risultati 1 fino 11 di 11

Discussione: Redirect a seconda del Browser

  1. #1
    Guest

    Predefinito Redirect a seconda del Browser

    Salve a tutti!

    Sono finalmente riuscito a fare un layout tableless e ad aggiornare la grafica del sito rendendola più attuale, ovviamente più aumente il livello del codice, peggio Internet Exploder si da alla libera interepretazione di ciò che viene scritto.
    Vorrei che i folli che ancora usano quella specie di obbrobrio indescrivibile la possibilità di accedere alla vecchia versione del mio sito, vorrei evitare il JS perchè è disattivabile dall'utente, è possibile usando il php fare un redirect se il browser posseduto dall'utente è IE?

    Grazie a tutti dell'aiuto!

  2. #2
    Guest

    Predefinito

    Codice PHP:
    if (eregi('MSIE ([0-9].[0-9]{1,2})', $_SERVER['HTTP_USER_AGENT'],))
    {
    header('Location: '); #Explorer
    }
    elseif(
    eregi('Opera/([0-9].[0-9]{1,2})', $_SERVER['HTTP_USER_AGENT'])) || eregi('Opera ([0-9].[0-9]{1,2})', $_SERVER['HTTP_USER_AGENT']))
    {
    header('Location: '); #Opera
    }
    elseif (
    eregi('Firefox/([0-9].[0-9]{1,2})',$_SERVER['HTTP_USER_AGENT']))
    {
    header('Location: '); #Firefox
    }
    elseif (
    eregi('Konqueror/([0-9].[0-9]{1,2})', $_SERVER['HTTP_USER_AGENT']))
    {
    header('Location: '); #Konqueror
    }
    elseif (
    eregi('Chrome/([0-9].[0-9]{1,2})', $_SERVER['HTTP_USER_AGENT']))
    {
    header('Location: '); #Chrome
    }
    else
    {
    header('Location: '); #Normale
    }


    Dimmi se funziona
    Ultima modifica di biccheddu : 20-06-2009 alle ore 13.21.35

  3. #3
    Guest

    Predefinito

    Mi serve semplicemente per explorer, faccio una prova.

    Codice PHP:
    if (eregi('MSIE ([0-9].[0-9]{1,2})', $_SERVER['HTTP_USER_AGENT'],))
    {
    header('Location: La direcotry a cui devo fare il redirect giusto?'); #Explorer
    }
    EDIT: non va, mi dice errore on line 2 (dove metto if ect.)

    EDIT2: Trovato l'errore, c'è una virgola in più

    Codice PHP:
    if (eregi('MSIE ([0-9].[0-9]{1,2})', $_SERVER['HTTP_USER_AGENT']))
    {
    header('Location: '); #Explorer
    }
    Così è giusto!
    Ultima modifica di morgensterngdr : 20-06-2009 alle ore 14.24.02

  4. #4
    Guest

    Predefinito

    C'è una virgola di troppo dopo $_SERVER['HTTP_USER_AGENT'].

    Comunque si

  5. #5
    Guest

    Predefinito

    ME ne ero accorto prima di leggere il tuo messaggio, comunque funziona perfettamente togliendo quella virgola, spiegami una cosa però, perchè il redirect per opera l'hai fatto diverso?

  6. #6
    Guest

  7. #7
    Guest

    Predefinito

    Chiaro al 50%, praticamente l'user agent di opera è un pò più complesso, chiaro

  8. #8
    Guest

    Predefinito

    Non ricordo sinceramente dove averlo letto, ma è possibile che ci sia scritto solo Opera {VERSIONE}, e non Opera/{VERSIONE} quindi meglio inserire l'OR.

    Però non ricordo se è effettivamente così, importante funzioni

  9. #9
    Guest

    Predefinito

    Non so se quello di opera funzioni, l'unico che mi serviva era quello di explorer, gli altri browser essendo prodotti civili funzionano tranquillamento con il codice che ho usato.

  10. #10
    Guest

    Predefinito

    Allora perfetto

  11. #11
    Guest

    Predefinito

    Biccheddu, con l'ultimo else va in loop infinito, rimuovendolo e facendo due stringhe separata per le due possibili versioni di opera funge perfetto.

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •