There are a lot of ways that you could do this. One way would be to use sessions to store some info.
You can use a form like this one...
<form id="theme" action="" method="post">
<p>
<select name="Color">
<option>please select a Color ...</option>
<option value="green">Green</option>
<option value="blue">Blue</option>
<option value="orange">Orange</option>
<option value="purple">Purple</option>
</select>
<select name="Font">
<option>please select a Font ...</option>
<option value="green">Green</option>
<option value="blue">Blue</option>
<option value="orange">Orange</option>
<option value="purple">Purple</option>
</select>
<input type="submit" value="Change Theme">
</p>
</form>
Then place the following lines at the top of each php page....
<?
session_start();
if(isset($_POST['Font'])) {$_SESSION['Font'] = $_POST['Font'];}
if(isset($_POST['Color'])) {$_SESSION['Color'] = $_POST['Color'];}
?>
Then in your <head> section echo your css theme....
<?
echo "<style type 'text/css'>";
echo "p {color: ".$_SESSION['Color']." font-size: ".$_SESSION['Font']."}"; ?>
echo "</style>";
You would have to echo the session color and font throughout your css file.
You could also have predefined styles and use a similar session result.
Please note: I haven't tested this, but I think it might work.
There are probably better ways of doing this, but hope it helps.