Visualizzazione dei risultati da 1 a 10 su 10

Discussione: riconoscere browser

  1. #1

    riconoscere browser

    ragazzi c'è un modo per riconoscere se l'utente sta utilizzando IE 6-7-8? e cosi reindirizzarlo ad una pagina?

  2. #2
    Codice PHP:

    $useragent 
    strtolower($_SERVER["HTTP_USER_AGENT"]);

    if (
    strstr($useragent'msie' ) )
    {
        
    //header('Location:pagina.php');

    Programmatore e responsabile seo della testata giornalistica www.europacalcio.it - www.canforagennaro.it

  3. #3
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    $_SERVER['HTTP_USER_AGENT']
    usando ad esempio chrome ti restituisce una stringa del tipo
    Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.121 Safari/535.2

    oppure usando firefox
    Mozilla/5.0 (Windows NT 5.1; rv:8.0) Gecko/20100101 Firefox/8.0

    e così via.

    Usando la funzione strpos() puoi cercare i nomi dei browser in tali stringhe e mettere i redirect corretti a seconda di ciò che trovi.

  4. #4
    Quindi utilizza il mio codice + ciò che ha scritto il collega "Alhazred" e ottieni il codice, ciò che ti ho scritto controlla solo se il browser è Internet Explorer.
    Programmatore e responsabile seo della testata giornalistica www.europacalcio.it - www.canforagennaro.it

  5. #5
    ho provato cosi ma non funziona, perchè?
    Codice PHP:
    if(strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 8') == true) { 
    echo 
    "IE 8";


  6. #6
    E' sbagliato ciò che scrivi.
    Prova con il codice postato da me sopra
    Programmatore e responsabile seo della testata giornalistica www.europacalcio.it - www.canforagennaro.it

  7. #7
    si ma per riconoscere la versione come posso fare scusa? il codice utilizzato da te sopra mi dice solo se è IE è basta senza dire se è 6,7,8 o 9.

  8. #8
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Con strpos la condizione deve essere

    if(strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 8') !== false)

    mi raccomando: !== non !=

  9. #9
    ma cosi:

    if(strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 8') !== false) {
    //codice IE8
    } else {
    //codice NON IE8

    }


    cioè !== sta per diverso giusto?

  10. #10
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Si il codice dovrebbe essere come lo hai scritto adesso.

    !== sta per "non identico"
    con strpos devi usare questo perché potrebbe ritornare 0 come posizione, il che vuol dire che la stringa cercata è all'inizio.
    usando != sarebbe inteso come false, non come 0.

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.