Prima di tutto, devi avere il supporto del linguaggio lato server scelto. Molti fornitori di spazio gratuito offrono il supporto a PHP. Inoltre, devi installare un server web (consiglio fortemente Apache) e l'interprete PHP sul tuo PC per poter provare in locale le pagine PHP.
A questo punto, dopo aver modificato l'estensione delle tue pagine in .php, devi fare in modo che all'inizio ogni pagina controlli se le è stata passata una variabile in GET. Ad es., tutti i link del tuo sito dovranno essere fatti così:

codice:
Link
e ogni pagina, all'inizio, dovrà controllare se $sfondo è stata impostata ad un valore, altrimenti verrà applicata l'immagine di sfondo di default:

codice:
<?php
$sfondo = $_GET[s];
if ($sfondo=='') $sfondo = 'img_default';
?>
<html>
<head>
..........
<body background="<?php echo $sfondo; ?>.jpg">
Ogni pagina conterrà poi dei link che permetteranno di impostare i possibili sfondi:

Cmq, per fare tutto questo controlla che il tuo fornitore di spazio gratuito offra supporto a PHP (normalmente lo fanno tutti) e installati Apache e PHP sul PC per testare i tuoi script in locale. Apache lo puoi scaricare da http://www.apache.org, mentre PHP da http://www.php.net. Se usi Windows, devi scaricare le versioni per Win32 binary e per PHP devi scegliere quella più "pesante" (contiene le librerie che permettono di installare PHP come modulo di Apache e altri extra).