Salta la barra di navigazione


Cerchi qualcosa?
Nel web Nel sito

Powered by Google

 

Cambiare CSS al volo con PHP

Una più comoda e compatibile alternativa agli Alternate StyleSheet è utilizzare un linguaggio server side.

Vediamo come con uno script php di Piero06 - MyTag.org

Creiamo due file (oltre ai CSS da far cambiare, naturalmente):

Passare le informazioni

In stili.php create un form:

<form action="setcookie.php" method="get">
    <p>
        <select name="set">
            <option value="default" selected="selected">CSS1</option>
            <option value="css2">CSS2</option>
        </select>
        <input type="submit" value="Invio" />
    </p>
</form>

Nel value="" di ogni option dovete inserire il nome del CSS senza estensione.

In alternativa al form potete utilizzare un link come questo:

<a href="setcookie.php?set=css2">CSS2</a>

Anche qui, dopo set= dovete inserire il nome del vostro CSS senza estensione.

Salvare le informazioni su un cookie

In setcookie.php inseriamo il seguente codice:

<?
$stile = $_GET['set'];
$referer = $_SERVER['HTTP_REFERER'];
header("Location: $referer");
setcookie("stile", $stile, time()+43200, '/');
header("Location: $referer");
?>

La funzione header("Location: stili.php") ha lo scopo di reindirizzare alla pagina da cui si è selezionato il CSS.

Bene, ora abbiamo appena salvato le informazioni trasmesse dal form della pagina stili.php in un cookie; vediamo come utilizzare queste informazioni.

Utilizzare le informazioni salvate sul cookie

Tra gli <head></head> della pagina inserire il seguente codice:

<html>
<head>


<?
$CSS=$_COOKIE['stile'];
echo " <link rel=\"stylesheet\" type=\"text/css\" href=\"www.tuodominio.it/";
if (!$CSS){
echo "default.css\"";
}else{
echo $CSS.".css\"";
}
echo " />";
?>

</head>

Se il cookie NON esiste, stampa il percorso del CSS di default, altrimenti stampa quello scelto dall'utente e salvato nel cookie.

Concludiamo con un esempio.