So sollte das eigentlich funktionieren:
Gesamter Code:
PHP Code:
<?php
if(isset($_GET['css']) && !empty($_GET['css']))
{
$cookieName = 'css';
$cookieContent = $_GET['css'];
$cookieTime = time() + 365 * 24 * 60 * 60;
setcookie($cookieName, $cookieContent, $cookieTime);
}
?>
<!DOCTYPE html>
<html lang="de-de">
<head>
<title>Title</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="author" content="Frostgear Studios">
<meta name="description" content="Description">
<meta name="keywords" content="keywords">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
<!-- <link rel="shortcut icon" href="styles/img/favicon.ico" type="image/x-icon"> -->
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<?php
if(!isset($_COOKIE['css']) || empty($_COOKIE['css']))
{
echo '<link rel="stylesheet" type="text/css" href="styles/standard.css">';
}
elseif($_COOKIE['css'] == 'first' || $_GET['css'] == 'first')
{
echo '<link rel="stylesheet" type="text/css" href="styles/first.css">';
}
elseif($_COOKIE['css'] == 'second' || $_GET['css'] == 'second')
{
echo '<link rel="stylesheet" type="text/css" href="styles/second.css">';
}
?>
</head>
<body>
<a href="?css=first">First</a>
<br><br>
<a href="?css=second">Second</a>
</body>
</html>
Hier nochmal die einzelnen Parts:
Links adden:
HTML Code:
<a href="?css=first">First</a>
<a href="?css=second">Second</a>
Cookie abfragen & CSS definieren
PHP Code:
<?php
if(!isset($_COOKIE['css']) || empty($_COOKIE['css']))
{
echo '<link rel="stylesheet" type="text/css" href="styles/standard.css">';
}
elseif($_COOKIE['css'] == 'first' || $_GET['css'] == 'first')
{
echo '<link rel="stylesheet" type="text/css" href="styles/first.css">';
}
elseif($_COOKIE['css'] == 'second' || $_GET['css'] == 'second')
{
echo '<link rel="stylesheet" type="text/css" href="styles/second.css">';
}
?>
WICHTIG: Das hier muss wenn du nicht via ob_flush den gesamten Content ausgeben lässt ganz oben sein über dem DOCTYPE denn es darf davor kein HTML ausgegeben werden.
PHP Code:
if(isset($_GET['css']) && !empty($_GET['css']))
{
$cookieName = 'css';
$cookieContent = $_GET['css'];
$cookieTime = time() + 365 * 24 * 60 * 60;
setcookie($cookieName, $cookieContent, $cookieTime);
}