Featured Post

Installazione del sistema operativo Sun Solaris 10 (su VirtualBox)

In questo articolo trovate la procedura per installare Sun Solaris 10 corredata di screenshot per ogni passaggio (sono state omesse solo piccole impostazioni, quindi manca qualche schermata). La mia installazione è stata effettuata su VirtualBox, di modo da semplificare l’acquisizione di...

Read More

[PHP] Cambiare i Fogli di Stile (CSS) in base al Browser

Posted by admin | Posted in PHP | Posted on 29-10-2008

Tag:,

3

In questo breve POST vi introduco un modo molto semplice per cambiare (o selezionare) il foglio di stile adatto in base al browser che l’utente sta utilizzando.

Perchè ciò?
Purtoppo la compatibilità tra i diversi browser non è al cento per cento quindi in alcuni casi è necessario adottare stili diversi per avere lo stesso risultato grafico su i diversi browser.

Con PHP si può fare in un modo molto semplice, utilizzando la variabile $_SERVER in cui si può trovare lo user agent utilizzato.

( TIP: Per vedere tutto il contenuto della variabile $_SERVER si può usare la funzione PHP var_dump($_SERVER), essendo $_SERVER un array associativo verranno visualizzate tutte le chiavi dell’array con i relativi valori )

La chiave che a noi interessa è appunto HTTP_USER_AGENT ($_SERVER['HTTP_USER_AGENT']) nella quale si trova il browser ed il sistema operativo che l’utente utilizza.

Si può quindi con un semplice if selezionare il foglio di stile che ci interessa, in base al browser o al sistema operativo:

1
<?php
2
if ( ereg( "Mozilla" , $_SERVER['HTTP_USER_AGENT']) ) {
3
echo '<link rel="stylesheet" type="text/css" href="stile1.css" />';
4
}else{
5
echo '<link rel="stylesheet" type="text/css"href="stile2.css" />';
6
}
7
?>

Per il funzionamento della funzione eregi vi rimando al sito di Php.net

( TIP: eregi è la versione case insensitive di ereg )