Her

Home Web Programming PHP Stylesheet Switcher v.2 (The Cookie Generation)

Stylesheet Switcher v.2 (The Cookie Generation)

Author: Joseph Skidmore Author's URL: www.joe2torials.com More by this author

Stylesheet Switcher v.2 (The Cookie Generation)His version features a few more colour schemes aswell as using cookies to store a users choice of theme. The script grabs the cookies and reads which theme the user has chosen and switches the stylesheet instantly.

This is just a very basic copy, feel free to play around with it as much as you like.

And here it is;

<? ob_start(); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >
<head>

<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<meta name="author" content="Joseph Skidmore" />
<meta name="keywords" content="" />
<meta name="description" content="" />

<title>Stylesheets Using Cookies</title>

<?php
if(isset($_COOKIE['SiteName'])) {

$Theme = $_COOKIE['SiteName']['Theme'];

echo ' <link rel="stylesheet" type="text/css" href="'.$Theme.'.css">'."n";
}
else {
echo ' <link rel="stylesheet" type="text/css" href="blue.css">'."n";
}
?>
<link rel="stylesheet" type="text/css" href="index.css">

</head>

<body>

<div id="Wrapper">

<div id="Select">
<form method="post" action="<?=$_SERVER['PHP_SELF'] ?>">

<select name="Theme" id="Theme">
<option value="red">Red</option>
<option value="yellow">Yellow</option>
<option value="orange">Orange</option>
<option value="green">Green</option>
<option value="purple">Purple</option>
<option value="blue">Blue</option>
</select>

<input name="submit" type="submit" value="Set Theme" />

</form>
</div>

<?php

function safeaddslashes($string) {
if (get_magic_quotes_gpc()) {
return $string;
} else {
return addslashes($string);
}
}

if(isset($_POST['submit'])) {

$Theme = safeaddslashes($_POST['Theme']);
$Time = time();

setcookie("SiteName[Theme]", $Theme, $Time + 3600);

header("Location: http://$SERVER_NAME$REQUEST_URI");
exit();
}

?>

<div id="Content">
<div id="Text">
<h1>Heading Here</h1>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nam fermentum. Morbi blandit ultrices lacus. Fusce eget tellus vel diam tincidunt tincidunt. Sed eu erat a dui tincidunt lacinia. Donec eget magna ornare urna gravida suscipit. Aliquam erat volutpat. Donec purus ligula, malesuada id, vehicula id, egestas nec, urna. Phasellus quis urna vel nulla volutpat ultrices. In hac habitasse platea dictumst. Morbi molestie accumsan sem. Pellentesque aliquam, tellus eu eleifend tempor, est enim lacinia pede, sed ullamcorper justo ligula eu libero. Vivamus sit amet quam sed nisl semper pharetra. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Morbi nunc ipsum, fringilla sed, ornare ac, suscipit vitae, tortor. Aliquam eget nunc non leo sagittis ornare. Pellentesque condimentum. Sed lacinia aliquam urna. Duis imperdiet. Donec quam lorem, lobortis at, ullamcorper nec, bibendum sit amet, lacus. Nam mattis, mi a cursus pulvinar, eros nulla bibendum tellus, cursus mollis quam dui nec leo.</p>

<h1>Heading Here</h1>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nam fermentum. Morbi blandit ultrices lacus. Fusce eget tellus vel diam tincidunt tincidunt. Sed eu erat a dui tincidunt lacinia. Donec eget magna ornare urna gravida suscipit. Aliquam erat volutpat. Donec purus ligula, malesuada id, vehicula id, egestas nec, urna. Phasellus quis urna vel nulla volutpat ultrices. In hac habitasse platea dictumst. Morbi molestie accumsan sem. Pellentesque aliquam, tellus eu eleifend tempor, est enim lacinia pede, sed ullamcorper justo ligula eu libero. Vivamus sit amet quam sed nisl semper pharetra. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Morbi nunc ipsum, fringilla sed, ornare ac, suscipit vitae, tortor. Aliquam eget nunc non leo sagittis ornare. Pellentesque condimentum. Sed lacinia aliquam urna. Duis imperdiet. Donec quam lorem, lobortis at, ullamcorper nec, bibendum sit amet, lacus. Nam mattis, mi a cursus pulvinar, eros nulla bibendum tellus, cursus mollis quam dui nec leo.</p>

<h1>Heading Here</h1>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nam fermentum. Morbi blandit ultrices lacus. Fusce eget tellus vel diam tincidunt tincidunt. Sed eu erat a dui tincidunt lacinia. Donec eget magna ornare urna gravida suscipit. Aliquam erat volutpat. Donec purus ligula, malesuada id, vehicula id, egestas nec, urna. Phasellus quis urna vel nulla volutpat ultrices. In hac habitasse platea dictumst. Morbi molestie accumsan sem. Pellentesque aliquam, tellus eu eleifend tempor, est enim lacinia pede, sed ullamcorper justo ligula eu libero. Vivamus sit amet quam sed nisl semper pharetra. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Morbi nunc ipsum, fringilla sed, ornare ac, suscipit vitae, tortor. Aliquam eget nunc non leo sagittis ornare. Pellentesque condimentum. Sed lacinia aliquam urna. Duis imperdiet. Donec quam lorem, lobortis at, ullamcorper nec, bibendum sit amet, lacus. Nam mattis, mi a cursus pulvinar, eros nulla bibendum tellus, cursus mollis quam dui nec leo.</p>
</div>
</div>

</div>

</body>
</html>
<?php ob_end_flush(); ?>

This is just the index page, for the script to fully work (and to see it in action) download the zip file and give it a try.

To download the pre made script with test stylesheets click here : Joe2Torials Stylesheet Switcher V2 (The Cookie Generation)