Выбираем дизайн и сохраняем его имя в куки
Подключаем дизайн по имени из куков

                        
<?php

/**
** Файл шапки
**/

// Список существующих дизайнов (можно дополнять, убирать, изменять
// 'название дизайна в папке' => 'название дизайна для вывода в списке выбора'

$styles = array(
'default' => 'Стандартный',
'style1' => 'Стиль 1',
'slyle2' => 'Стиль 2',
'style3' => 'Стиль 3',
);

// Проверяем существует ли дизайн в куках, если нет ставим дизайн "default"
$style = 'default';
if(!empty($styles[$_COOKIE['style']])) $style = $_COOKIE['style'];

// Подключаем дизайн
echo '<link rel="stylesheet" href="/styles/'. $style .'/style.css" type="text/css" />';

?>


<?php

/**
* Файл изменения стиля
**/

// Проверка на валидность выбранного дизайна, если все верно записываем в куки
if(isset($_POST['submit'])) {

if(!empty($styles[$_POST['style']])) {
setcookie('style', $_POST['style'], time() + 1296000, '/', '.'. $_SERVER['HTTP_HOST']);

echo 'Дизайн успешно изменен!<br />';
echo '<a href="">Продолжить</a>';

exit;
}
else {

echo 'Выбранный дизайн не существует!<br />';
echo '<a href="">Повторить</a>';

exit;
}
}

// Форма выбора дизайна
echo 'Выбор дизайна:';

echo '<form action="" method="post">';
echo '<select size="1" name="style">';

foreach($styles as $k => $v) {
echo '<option value="'. $k .'"';
if($style == $k) echo ' selected="selected"';
echo '>'. $v .'</option>';
}

echo'</select><br />';
echo '<input type="submit" name="submit" value="Применить" />';
echo '</form>';

?>
8 10 0
0

Нет фото
Wins * 5.64
• 21 мар 2016, 14:01


Hatsune Miku, На счет этого согласен
<?php if(!empty($styles[$_COOKIE['style']])) $style = $_COOKIE['style']; ?>

На счет остального нет)

0

Нет фото
Hatsune Miku * [мошенник] 22.23
• 21 мар 2016, 04:51


<?php if(!empty($styles[$_COOKIE['style']])) $style = $_COOKIE['style']; ?>


Не факт, что кука есть, но ты не проверя обращаешься - уже нотайс.


---

<?php echo '<link rel="stylesheet" href="/styles/'. $style .'/style.css" type="text/css" />'; ?>

Это уже дыра просто, впихнуть тут XSS проще простого.

---

<?php if(!empty($styles[$_POST['style']])) {

setcookie('style', $_POST['style'], time() + 1296000, '/', '.'. $_SERVER['HTTP_HOST']); ?>

Ещё нотайс, уже сразу 2

0

Нет фото
Wins * 5.64
• 21 мар 2016, 03:51


Hatsune Miku, Зацени)

0

Нет фото
Hatsune Miku * [мошенник] 22.23
• 21 мар 2016, 03:33


Показать почему гавнокод?

0

Нет фото
Wins * 5.64
• 2 дек 2013, 03:06


Виктор, Спасибо)

[cit]Виктор[соз] [30 Ноября 2013 в 11:42] +1
Комментарий: За оригинальность. Можно ещё закодировать *[cit]
Можно но смысл? В исходнике то всеравно отобразится название))