Делаю сервис, нужна помщь!
1.
Лёха (25.10.2009 / 07:11)
Как сделать чтоб юзер мог менять стиль? Например у меня папка со стилями (black.css? red.css и тд.). Нужно чтобы при вводе httр://servis.ru/index.php&style=red у него был red.сss, соответственно если &style=black то black.css. Как это исполнить? Кто знает?
2.
HOOF (25.10.2009 / 07:22)
ну $_GET['style'] эт имя твоего стиля (не забудь фильтровать)
Где выводишь стиль - вставь переменную:
echo'<link rel="stylesheet" type="text/css" href="'.$_GET['style'].'.css">'; что то типа этого
3.
Удаленный (25.10.2009 / 09:32)
Ето тычеш в корен сайта/style.php
<?php
$standart='1.css'; // стиль по умолчанию
$dir='themes/'; //путь к папке со стилями
session_start();
$style=$_GET['style'];
foreach(glob ($dir.'*.css') as $list) {
if($style==$list)
{$prov_style=$list;}}
if(empty($prov_style))
{$prov_style=$standart;}
else{$_SESSION['style']=$prov_style;}
header ('Location: /index.php');
exit;
?>
а ето во все страницы сайта.
<?
session_start();
echo'<link rel="stylesheet" type="text/css" href="http://tvoy-site.ru/themes/'.$_SESSION['style'].'">';
?>
site.ru/style.php?style=Имя_темы
выбросит на главную уже с новым стилем и при переходе по другим сайтам тема будет сохранятся до окончание сесии, можна переделать и на сокеты.
4.
ramzes (25.10.2009 / 11:13)
<?php
if(isset($_GET['style'])){
$_SESSION['style'] = htmlspecialchars($_GET['style']);
}
if($_SESSION['style']!="" && file_exists('style/'.$_SESSION['style'].'.css')){
..="style/'.$_SESSION['style'].'.css"..
}else{
..="style/default.css"..
}
site.ru/?style=dark
site.ru/dir/page.php?style=white
5.
Лёха (25.10.2009 / 12:08)
Сейчас попробую... покажу что получилось.
6.
Лёха (25.10.2009 / 13:08)
Что-то неполучается, вот допустим у меня есть фаил head.php и папка "css" со стилями, что точно прописать в head.php?
7.
Иван (25.10.2009 / 13:31)
6. код из 4 поста
8.
Лёха (25.10.2009 / 14:21)
Вот сделал:
1.
http://dedr.ru/games.php?style=dark&url=visavi.net
2.
http://dedr.ru/games.php?style=default&url=visavi.net
---
Нашёл в гугле как проще сделать, но всёравно ВСЕМ спасибо!
Теперь буду думать как счётчики менять на свои и ещё нужно страничку для сервиса сделать... типа юзер ввел сайт, выбрал тему, указал счётчики, а ему уже готовую ссылку выдало.
9.
ramzes (25.10.2009 / 15:03)
<?php
echo' copy this link:
<br>
<input type="text" value="http://youresite.ru/page.php?style='.$_POST['select_style'].'&url='.$_POST['select_site'].'">';
форму ввода и фильтрацию надеюсь сам сделаешь
10.
Лёха (25.10.2009 / 15:07)
Наверное сам несмогу
11.
ramzes (25.10.2009 / 15:28)
<?php
if(!isset($_POST['relect_site'])){
echo'<form action="thisPage.php?" method="post">
Введите адрес вашего сайта<br>
<input type="text" name="select_site">
<br>
Выберите стиль оформления<br>
<input type="select" name="select_style">';
$dir = opendir("style");
$css = readdir($dir);
$total =count($css);
for($i=0; $i<$total; $i++){
$select_css = str_replace('.css','',$css[$i]);
echo'<option value="'.$select_css.'">'.$select_css.' style</option>';
}
closedir($dir)
echo'</select><br>';
echo'<input type="submit" value="GO"></form>';
}else{
//this post #9
}
с бодуна и на ходу, могут быть ошибки
12.
Лёха (25.10.2009 / 15:39)
Спасибо, ramzes! +
13.
Лёха (25.10.2009 / 18:50)
Неполучается, пишет ошибка в 17 строке
14.
ramzes (25.10.2009 / 19:00)
Строку эту напиши сюда
15.
Лёха (25.10.2009 / 19:05)
echo'</select><br>';
16.
Лёха (25.10.2009 / 19:06)
Вот оно:
http://dedr.ru/servis.php
17.
Удаленный (25.10.2009 / 19:50)
16, после closedir($dir) поставь знак точку с занятой closedir($dir);
18.
Лёха (25.10.2009 / 20:45)
17. Не, нето. Непомогло.
19.
Лёха (25.10.2009 / 20:51)
Всё заработало! А как после ввода данных получить ссылку с результатом (Ваша ссылка: httр://servis.ru/servis.php?url=РЕЗУЛЬТАТ&style=РЕЗУЛЬТАТ)? Кто может написать код всей страницы?
20.
Удаленный (25.10.2009 / 21:09)
В коде, который в одиннадцатом посту, вместо строки //this post #9 вставляешь код с девятого поста и будет все нормально работать
21.
Лёха (26.10.2009 / 00:03)
20. Ненормально...
http://dedr.ru/servis.php?
22.
ramzes (26.10.2009 / 00:22)
Имена переменных
то что в форме
name="%var%" то при получении => $_POST['%var%']
не забудь фильтрацию полученных данных сделать и проверку на существования выбранного стиля. А то дырка будет.
23.
Лёха (26.10.2009 / 01:13)
ramzes, блин я сам фиг разберусь
24.
Андрюха (26.10.2009 / 01:25)
Если что-пиши мне в приват,объясню
25.
Андрюха (26.10.2009 / 01:30)
if(file_exist("style/'.$_GET['style'].'")){
$style = htmlspecialchars($_GET['style']);
}
Типа того
URL:
https://visavi.net/topics/2067