Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
|
Результаты опроса: Вам понравилось?
|
|
Да, очень
|
  
|
4 |
36.36% |
|
Нормально
|
  
|
4 |
36.36% |
|
Нет, это не нужно
|
  
|
3 |
27.27% |
 |
|

05.01.2010, 21:51
|
|
Познающий
Регистрация: 25.10.2009
Сообщений: 54
Провел на форуме: 62271
Репутация:
9
|
|
CW таблица PHP
Да, как раз для кс я переделал распростанённый код таблицы на HTML под CSS+PHP...
К сожалению я жадный ии админку не вылажу,так как тогда следующие мои статьи можно будет легко взломать --- админка предусмотрена под 3-10 юзеров разных прав,но незащищена от простого <script> и прочего...
Залил картинки тут: Images.rar
В общем вот мои коды:
CSS стили
PHP код:
body {
margin: 11px 0 0 0;
padding: 0;
background: #000000 url(images/img1.gif) repeat-x;
font: normal small Arial, Helvetica, sans-serif;
color: #999999;
}
h1, h2, h3, h4, h5, h6 {
margin: 0;
padding: 0;
text-transform: uppercase;
letter-spacing: .2em;
color: #000000;
}
p, ul, ol, blockquote {
margin-top: 0;
line-height: 160%;
}
a {
text-decoration: none;
color: #9ED738;
}
a:hover {
text-decoration: underline;
}
/* Header */
#header {
width: 720px;
height: 161px;
margin: 0 auto;
background: url(images/img2.jpg) no-repeat;
}
#header * {
text-decoration: none;
text-align: center;
color: #000000;
}
#header h1 {
padding-top: 55px;
font-size: 3em;
}
#header h2 {
font-size: 1.2em;
}
/* Menu */
#menu {
width: 720px;
height: 55px;
margin: 0 auto;
}
#menu ul {
margin: 0;
padding: 0;
list-style: none;
line-height: normal;
}
#menu li {
display: inline;
}
#menu a {
display: block;
float: left;
width: 142px;
height: 21px;
padding: 7px 1px 0 1px;
background: url(images/img3.gif) no-repeat center center;
text-align: center;
text-decoration: none;
text-transform: uppercase;
letter-spacing: .2em;
font-size: x-small;
font-weight: bold;
color: #CCCCCC;
}
#menu a:hover, #menu .active a {
background-image: url(images/img4.gif);
color: #FFFFFF;
}
/* Content */
#content {
width: 720px;
margin: 0 auto;
}
#colOne {
float: left;
width: 160px;
}
#colTwo {
float: left;
width: 360px;
padding: 0 20px;
}
#colThree {
float: left;
width: 160px;
}
/* Content Elements */
#content h2 {
height: 21px;
margin-bottom: 20px;
padding: 9px 0 0 10px;
background: url(images/img6.gif);
letter-spacing: normal;
font-size: .9em;
}
#content h3 {
text-transform: uppercase;
letter-spacing: normal;
font-size: x-small;
color: #FFFFFF;
}
#content ul {
margin-left: 0;
padding-left: 0;
list-style: square inside;
}
/* Footer */
#footer {
height: 70px;
padding: 7px 0 0 0;
background: url(images/img5.gif) repeat-x;
}
#footer * {
color: #000000;
}
#footer p {
text-align: center;
font-size: smaller;
rega.php
PHP код:
// если вы пользуетесь чем-либо..// (админка\регистрация, то оставьте Else)
else{
If ($gm =="3") { echo("><BR><BR><BR><BR><BR><BR><BR><BR><BR><div id=content><div id=colOne><h2>Блок админа</h2><h3>Cw</h3><p><br>Вскоре сделаю удаление только отдельных рядов таблиц... <a href=rega.php?del=dule>Удалить все ряды...</a></p>"); if($gm==proverenniy and $del=='dule')
// Если вы без админки,то удалите If и его {}
{unlink("data/wcavto.txt"); unlink("data/wcavtoid.txt");}
$fh = @file("/data/wcavtoid.txt");
echo("<div id=content><div id=coTwo><p><form name=form1 method=post action=rega.php><br><br><br><br><br><p>Здравствуйте,система разработана Shmel<br>
Впишите данные, не обязательно брать подсказочные<BR>
скрипт можно будет скачать для своих нужд,после окончания тестирования<BR></p>
Команда и соперник:<INPUT TYPE=text NAME=team Value='CT vs T' size=35><BR>
Карта:<INPUT TYPE=text NAME=map Value='de_' size=35><BR>
Сколько на сколько?:<INPUT TYPE=text NAME=skoko Value='3 vs 3' size=35><BR>
Победитель:<INPUT TYPE=text NAME=winner Value='Команда?-победитель!' size=35><BR>
Побед(В раундах):<INPUT TYPE=text NAME=countW Value='' size=35><BR>
Проигрышей(В раундах):<INPUT TYPE=text NAME=countD Value='' size=35><BR>
<INPUT TYPE=submit value='Обновить'><BR>
</form></p>");
$arr2 = file("data/wcavtoid.txt"); $i=0; foreach($arr2 as $line2){
$i++; list($avtor,$id)=explode("::",$line2);
$bd['avtor'][]=$avtor;
$bd['id'][]=$id; }
$newid=$id+1;
echo("$newid");
if ($team == '' or $map == '' or $skoko =='' or $winner =='' or $countW =='' or $countD =='') {
echo ("Ахтунг Не введены главные данные");
} else {
$avtor = $c_name; //если нету админки,замените на
// ип человека.
$team = $_POST['team'];
$map = $_POST['map'];
$skoko = $_POST['skoko'];
$winner = $_POST['winner'];
$countW = $_POST['countW'];
$countD = $_POST['countD'];
$fh = fopen("data/wcavto.txt","a+");
$team="<TD class=gTableBody1 noWrap>$team</TD>";
$map="<TD class=gTableBody1 noWrap>$map</TD>";
$skoko="<TD class=gTableBody1 noWrap>$skoko</TD>";
$winner="<TD class=gTableBody1 noWrap>$winner</TD>";
$countWD="<TD class=gTableBody1 noWrap><B>$countW</B>-$countD</TD></TR>\r\n";
$fh = fopen("data/wcavtoid.txt","a+");
fwrite($fh,"$avtor::$newid\r\n");
fclose($fh);
$fh2 = fopen("data/wcavto.txt","a+");
fwrite($fh2,"$team::$map::$skoko::$winner::$countWD::\r\n<TR align=middle>\r\n");
fclose($fh2);
} }
echo ("<TABLE style=BORDER-RIGHT: #494949 0px solid; BORDER-TOP: #494949 0px solid; BORDER-LEFT: #494949 0px solid; BORDER-BOTTOM: #494949 0px solid cellSpacing=0 cellPadding=0 width=100% border=0><TBODY><TR><TD style=BORDER-RIGHT: #262626 0px solid; PADDING-RIGHT: 10px; BORDER-TOP: #262626 0px solid; PADDING-LEFT: 10px; BACKGROUND: #2c2c2c; PADDING-BOTTOM: 10px; BORDER-LEFT: #262626 0px solid; PADDING-TOP: 10px; BORDER-BOTTOM: #262626 0px solid>
<TABLE class=gTable cellSpacing=0 cellPadding=0 width=100% border=1><TBODY>
<TR align=middle>
<TD class=gTableSubTop>Команда - противник</TD>
<TD class=gTableSubTop>Карта</TD>
<TD class=gTableSubTop>Количество</TD>
<TD class=gTableSubTop>Победитель</TD>
<TD class=gTableSubTop>Счёт</TD></TR>
<TR align=middle>");
$arr = file("data/wcavto.txt"); $i=0; foreach($arr as $line){
$i++; list($team,$map,$skoko,$winner,$countWD,$tableend)=explode("::",$line);
$bd['team'][]=$team;
$bd['map'][]=$map;
$bd['skoko'][]=$skoko;
$bd['winner'][]=$winner;
$bd['countWD'][]=$countWD;
$bd['tableend'][]=$tableend; }
for($i=count($arr)-1; $i>=0; $i--) { $see=$bd['team'][$i];
$see.=$bd['map'][$i];
$see.=$bd['skoko'][$i];
$see.=$bd['winner'][$i];
$see.=$bd['countWD'][$i];
$see.=$bd['tableend'][$i];
echo($see); }
// просто ссылки
include("templates/index_end.htm");
}
?>
файлы wcavto.txt и wcavtoid.txt:
wcavto.txt :
PHP код:
<TD class=gTableBody1 noWrap>CT vs T</TD>::<TD class=gTableBody1 noWrap>de_VooDoo</TD>::<TD class=gTableBody1 noWrap>3 vs 3</TD>::<TD class=gTableBody1 noWrap>CT WIN!</TD>::<TD class=gTableBody1 noWrap><B>1</B>-0</TD></TR>
::
<TR align=middle>
wcavtoid.txt:
Минус только 1: Нету защиты у бд...Полностью мой код(кроме таблицы,конечноже  )
Прошу критику и прочее писать, мне интересно 
P.S. Кому помог +
Последний раз редактировалось N2kroot; 05.01.2010 в 21:53..
|
|
|

28.01.2010, 23:03
|
|
Познавший АНТИЧАТ
Регистрация: 12.03.2008
Сообщений: 1,379
Провел на форуме: 5866479
Репутация:
1809
|
|
Конкатенация в JS
В отличие от некоторых других языков, оператор "+" делает конкатенацию, если хотя бы один операнд - строка, причем, не обязательно первый.
Код HTML:
alert(+"123"+num);
Но как же быть, если нужно сделать конкатенацию имен переменных? Пример:
Код HTML:
window["p_"+num+"_pos"]=2;
Код HTML:
document.getElementById("panel_"+num).style.display="block";
|
|
|
Экранный анализатор на PHP |

31.03.2010, 01:06
|
|
Banned
Регистрация: 04.09.2009
Сообщений: 67
Провел на форуме: 178600
Репутация:
22
|
|
Экранный анализатор на PHP
Сегодня я раскажу как с помощю PHP, реализовать экранный анализатор!
Экранный анализатор - программа или скрипт, которая просматривает Web-страницу, извлекая при этом нужные данные.
Сейчас мы расмотрим простейший анализатор, который извлечет ссылки и отсортирует их по катеогориям!
И так, первым делом мы создадим форму что передаст нашему скрипту ссылку!
Код:
<?php
echo '<form method=get>
Ваша ссылка: <input name="url" type="text" value="http://">
</form>';
Теперь перейдём непосредственно к получению и обработке ссылки
Код:
if (isset($_REQUEST["url"])) { // проверяем наличие ссылки
$url = $_REQUEST["url"]; // получаем данные от формы
if (!preg_match('|^https{0,1}://|', $url)) { // С помощю регулярного выражения, проверяем ссылку
print "URL $url не является валидным!";
exit(0);
}
}
Самое время получить ссылки! Я буду использовать простую функцию file_get_contents(), потому-что в нашем случае использовать socket или curl безсмысленно!
Код:
$page = file_get_contents($url); // Получаем страницу
preg_match_all('|<a\s[^>]*href="([^"]+)"|i', $page, $match); // С помощю регулярки, вытягиваем все гиперссылки!
Теперь все гиперссылки находятся в массиве $match[1], а match[0] содержит все совпадения!
Можна инициализировать массивы, которые будем использовать для хранения и сортировки ссылок!
Код:
$all = array();
$js = array();
$full = array();
$local = array();
Получив все что нужно, начнём сортировку!
Код:
foreach ($match[1] as $link) {
if ($all[$link]) { // Все ссылки
continue;
}
$all[$link] = true;
if (preg_match('/^javascript:/', $link)) { // Регуляркой достаем JS ссылки
$js[] = $link;
} elseif (preg_match('/^https{0,1}:/i',$link)) { // Достаем полные ссылки
$full[] = $link;
} else {
$local[] = $link; // Остатки
}
}
Мы все сделали, осталось лишь вывести результат!
Код:
print '<table border=0>
<tr><td>Всего ссылок:</td><td>';
print strval(count($match[1])) . "</td></tr>";
print '<tr><td>Уникальных ссылок:</td><td>';
print strval(count($all)) . "</td></tr>";
print '<tr><td>Локальных ссылок:</td><td>';
print strval(count($local)) . "</td></tr>";
print '<tr><td>Полных ссылок:</td><td>';
print strval(count($full)) . "</td></tr>";
print '<tr><td>JavaScript ссылок:</td><td>';
print strval(count($js)) . "</td></tr>";
print '</table>';
?>
Вот и все!
В результате у нас получился вот такой скрипт:
Код:
<?php
echo '<form method=get>
Ваша ссылка: <input name="url" type="text" value="http://">
</form>';
$url = $_REQUEST["url"];
if (!preg_match('|^https{0,1}://|', $url)) {
print "URL $url не является валидным!";
exit(0);
}
$page = file_get_contents($url);
preg_match_all('|<a\s[^>]*href="([^"]+)"|i', $page, $match);
$all = array();
$js = array();
$full = array();
$local = array();
foreach ($match[1] as $link) {
if ($all[$link]) {
continue;
}
$all[$link] = true;
if (preg_match('/^javascript:/', $link)) {
$js[] = $link;
} elseif (preg_match('/^https{0,1}:/i',$link)) {
$full[] = $link;
} else {
$local[] = $link;
}
}
print '<table border=0>
<tr><td>Всего ссылок:</td><td>';
print strval(count($match[1])) . "</td></tr>";
print '<tr><td>Уникальных ссылок:</td><td>';
print strval(count($all)) . "</td></tr>";
print '<tr><td>Локальных ссылок:</td><td>';
print strval(count($local)) . "</td></tr>";
print '<tr><td>Полных ссылок:</td><td>';
print strval(count($full)) . "</td></tr>";
print '<tr><td>JavaScript ссылок:</td><td>';
print strval(count($js)) . "</td></tr>";
print '</table>';
?>
|
|
|

04.05.2010, 12:15
|
|
Banned
Регистрация: 17.03.2009
Сообщений: 90
Провел на форуме: 231109
Репутация:
29
|
|
Статья посвященная созданию ICQ бота на PHP языке!
Автор статьи я! Потому все связаные с ней вопросы ко мне!
Арсенал:
1) Хостинг или дедик
2) Знание PHP
3) Клас ICQ
4) ICQ номер бота
5) Руки
---Шаг первый---
Начнем с того что найдем клас для создания бота.
Этот клас сам разберется со всеми проблемами протокола ICQ и позволит нам подлючится к ICQ за несколько комманд.
Я выбрал mlCQ library v0.4 (Скачать все PHP скрипты сможете вконце темы)
Называем его lib.php и на время забываем.
---Шаг второй---
Создадим файл конфига conf.php!
В нем будут хранится разного рода настройки скрипта и бота.
Например ICQ и пароль бота, его статус и будет ли скрипт вести логи.
conf.php
<?php
DEFINE('UIN_ADMIN','ваша ася'); // Номер ICQ админа
// Уин бота
DEFINE('UIN_BOT','тут аська бота'); // Номер ICQ бота
DEFINE('PASS_BOT','тут пароль'); // Пароль от уина ICQ бота
// Настройки бота
DEFINE('BOT_STATUS','Статус бота X-Traz'); // X-Traz статус бота
DEFINE('BOT_BIRTHDAY','1'); // Шарик день-рождения
// Настройка логирования
DEFINE('LOG_SET','0'); // Если нужны логи поставте 1
DEFINE('LOG_FILE','huge.log'); // Файл логов
?>
Сохраняем в папке с lib.php и забываем!
---Шаг третий---
Перейдем к оболочке бота и скрипте что будет управлять всем функционалом!
Тут будет хранится скрипт входа в on-line, скрипт обработки и еще много чего!
Начнем с того что подключим lib.php и conf.php!
bot.php
<?php
require_once 'lib.php';
require_once 'conf.php';
Теперь определим параметр ICQ birthday, логов и запустим бота
//Birthday
if(BOT_BIRTHDAY=='1') { $BD='BIRTHDAY'; } // Разбираемся с параметром Днюхи бота
//Прочее
set_time_limit(0); // На же не надо чтобы бот постоянно выходил из она?
ignore_user_abort(true); // Игнор аборта
//Подключение
$mlCQ=new mlCQ(); // Создаем клас
$mlCQ->create_identity("me",UIN_BOT,PASS_BOT); //Вводим параметры входа
$mlCQ->connect(); //Создаем подключение
$mlCQ->login(); // Логинимся
// Файл логирования
if(LOG_SET=='1') { $mlCQ->start_logging(LOG_FILE); } // Если нужно, наш клас будет вести логи
//X-Traz
$mlCQ->set_status(BOT_STATUS, $BD); //Статус бота
//Удаляем не нужные офлайн сообщения
$mlCQ->request_offline_messages();
$mlCQ->delete_offline_messages();
$still_there=true; $code='';
Ну а сейчас займёмся списком команд
$list = "Набирите команды что описаны ниже:
person admin - О админе
person you - О Вас
";
$personallist = array(
"admin" => "Админу вчера выполнилось 150 лет. Он живет в г.Черновцы и жрет пиццу",
"you" => "Вы видимо дядя что шяс сидит в асике"
);
$help='Вас приветствует ICQ Info BOT
Команды бота:
help - Вывод справки (её Вы сейчас читаете)
admin ваше_сообщение - Связь с админом
list - Список персонала
person чел - Инфа о нем *
';
Вот теперь самая сложная часть которая разместит в себе весь остаток кода!
while($still_there) {
if(!is_resource($mlCQ->sock) || feof($mlCQ->sock)) $still_there=false; // Проверка
if(!$code) sleep(1); // Спим
$code=$mlCQ->dance_for('me');
switch($code) { //Распознаем ответы
case 7:
$msg=$mlCQ->id['in_messages']['last']; //Получаем последнее сообщение
$from=$msg['uin']; // Аська с которой пришло сообщение
$cmd = explode(' ',$msg['text']); //С помощю explode разделяем сообщение на оболочку
switch($cmd[0]) { //Разбираем сообщение
// Функция вывода хелпа
case 'help':
$mlCQ->send_message($from,$help); // Шлем сообщение с хелпом
break;
// Общение с админом
case 'admin':
$mlCQ->send_message('UIN_ADMIN','Вам пришло сообщение от: '.$from.
'
Текст: '.$cmd.
'
Ответить: send '.$from.' ответ');
break;
// Общение с юзерами
case 'send':
$mlCQ->send_message($cmd[1],'От админа: '.$cmd);
break;
// Отправка листа с командами
case 'list':
$mlCQ->send_message($from,$list);
break;
// Отправка ответа с данными о персоне
case 'person':
$messa = $personallist[$cmd[1]];
if (isset($messa)) {
$mlCQ->send_message($from,"$messa");
} else {
$mlCQ->send_message($from,"Такой персоны не найдено");
}
break;
// Функция остановки работы бота
case 'stop':
if($from==UIN_ADMIN) {
$mlCQ->send_message($from,'Работа бота завершена');
$mlCQ->close(); //Закрываем соединение
}
break;
//Если ни одна из команд не найдена, пишем дефолт сообщение
default:
$mlCQ->send_message($from,"Для вывода справки по командам наберите \"help\" (без кавычек)");
break;
}
}
}
?>
Сохраняем как bot.php, и идем на хостинг
---Шаг четвертый---
Нам нужен хостинг под бота!
Я своего держу на bravohost.ru. Почему там?
Там можно редактировать настройку о том сколько может исполнятся скрипт + есть cron который будет перезапускать скрипт каждые 10 мин.
Если хотите делать на дедике, то устанавливайте любую сборку сервера и в настройках укажите любое нужное Время исполнения, через которое Ваш скрипт остановится (Т.е. Вам надо будет его запускать снова)
Выбрали? Идем на хост и заливаем скрипты.
На папку с скриптом (Если нужны логи) кладем права 777.
Теперь запускаем bot.php и скрипт не должен открыватся (Т.е. Зависнуть)
Добавляйте бота и общайтесь с ним.
Если же ошибка, значит где-то в коде проблема или с хостингом лажа.
Вот пак из скриптов, которые собраны по этой статье!
Там находится клас mlCQ. Конфиг и оболочка бота!
Скачать upwap.ru: Архив с скриптами
---F.A.Q.--- Бот почему-то сам выходит из онлайна, надо его заново запускать
Нужно изменить тайм-лимит на исполнение скрипта.
Пишет ошибку при выполнении скрипта
Куча причин возможно.
Может быть аська и пароль бота не правильны или хостинг лажет, а может и в скрипте проблемма
Не входит в он-лайн
Пароль с асей могут быть не правильные. Или хостинг не позволяет
Очень долго отвечает бот
Хостинг возможно тупит, или Ваш бот очень загружен
|
|
|

04.05.2010, 12:16
|
|
Banned
Регистрация: 17.03.2009
Сообщений: 90
Провел на форуме: 231109
Репутация:
29
|
|
Сегодня я постараюсь расказать о том как сделать динамический индикатор выполнения задачи или просто progress bar!
Эта тема не претендует на звание статьи, но то что она девствительно нужна многим PHP программистам - это правда, потому прошу выделить ей отдельный топик.
Статья моя, и все вопросы касающиеся ее прошу задавать сдесь!
Я раскажу о том как сделать progress bar, который будет прослеживать любую задачу скрипта и динамически уведомлять юзера.
Постараюсь пошагово разьяснить все аспекты и помочь Вам в разборе скрипта.
А теперь о progress bar'e:
В некоторых случаях Вам может понадобится визуально представить на экране ситуацию связяную с выполнением скрипта.
В таком случае можно сделать вывод динамического индикатора выполнения задачи, что будет уведомлять пользователя о том, когда загрузится скрипт.
Существуют разные способы добится этого, с использованием лишь PHP, или с помощю JS, CSS, Ajax.
Тут я покажу несколько примеров что обьединяют PHP и CSS.
Начнем!
Progress bar - Легкая версия
Создадим простую, текстовую версию прогресс бара:
Выводим на экран сообщение что предупредит пользователя о загрузке скрипта
<?php
echo "Происходит загрузка скрипта";
ВЫ можете вписать свое сообщение, все на свой вкус..
Теперь реализуем цикл, который будет определять заданую задачу и выводить точку
while (true) {
// Ставим точку и чистим буфер, чтобы убедится, что результат будет выведен на экране
echo '.';
flush();
//Теперь спим 1 секунду и повторяем цикл
sleep(1);
}
?>
Если вы захотите использовать данный прогресс бар, Вам нужно будет заменить цикл while(true) на реальную проверку выполнения конкретной задачи.
Например существования файла или процес загрузки...
Вы можете реализовать нужный цикл с даным условием)
Progress bar - PHP + CSS версия
Создадим более сложную и более красивую версию:
Для начала создадим функцию, что будет создавать исходный вид полосы
<?php
function progressbar() {
// Создадим стиль CSS
echo "
<style>
#text {
position: absolute;
top: 100px;
left: 50%;
margin: 0px 0px 0px -150px;
font-size: 18px;
text-align: center;
width: 300px;
}
#barbox_a {
position: absolute;
top: 130px;
left: 50%;
margin: 0px 0px 0px -160px;
width: 304px;
height: 24px;
background-color: black;
}
.per {
position: absolute;
top: 130px;
left: 50%;
margin: 1px 0px 0px 160px;
font-size: 18px;
background-color: #ffffff;
}
.bar {
position: absolute;
top: 132px;
left: 50%;
width: 0px;
height: 20px;
margin: 0px 0px 0px -158px;
background-color: #0099ff;
}
.blank {
background-color: white;
width: 300px;
}
</style>
";
Теперь выведем начальный XHTML, что будет перезаписан позже
echo "
<div id='text'>Прелоадер</div>
<div id='barbox_a'></div>
<div class='bar blank'></div>
<div class='per'>0%</div>
";
Удостоверимся что результат выводится
Создадим функцию, которой передадим % в виде числа, а она просто будет генерировать правильный div
function update($percent) {
//Сначала обновляем переменную percent новым значением:
echo "<div class='per'>{$percent}%</div>\n";
//Теперь выводим полоску - bar и установим ее ширину в 3 раза больше.
echo "<div class='bar' style='width:",$percent * 3,"px'></div>\n";
//Опять чистим буфер
flush();
}
И закончим скрипт инициализацией функции progressbar() и имитацией деятельности (Обновляя последовательно результат)
progressbar();
//Имитируем деятельность. Команда usleep будет имитировать выполняемые строки кода
usleep(350000);
update(7);
usleep(1550000);
update(28);
usleep(10000000);
update(48);
usleep(3500000);
update(68);
usleep(30000);
update(71);
usleep(5000000);
update(74);
usleep(3500);
update(77);
usleep(350000);
update(100);
//Теперь все готово и вы можете выбрать вариант выводимого текста в финале
echo "мы загрузились...";
?>
Вот и все. Вы можете легко доделать скрипт под себя и свои сайты..
С уважением, MDxaker from Antichat!
Последний раз редактировалось MDxaker; 04.05.2010 в 12:22..
|
|
|

04.05.2010, 12:17
|
|
Banned
Регистрация: 17.03.2009
Сообщений: 90
Провел на форуме: 231109
Репутация:
29
|
|
Сейчас я раскажу о том, как сделать "выделялку" части сайта, на которой находится юзер
Эта тема не претендует на звание статьи, потому прошу не писать глупые комменты о том что толку 0 и т.п.!
Запомните, толк всегда есть, даже если статья посвящена тому как нужно выгребать говно!
Статья моя, и все вопросы касающиеся ее прошу задавать сдесь!
Бредословие:
Хотя не для всех сайтов требуется многоуровневое меню, тем не менее, большинство сайтов обычно имеют, по крайней мере, несколько различных секций.
Часто на разных страницах имеется ссылка на страницы, предшествующая текущей в данной секции, и поэтому полезно выделять цветом ту секцию, в которой находится пользователь!
Навигация с выделеным цветом
Создадим функцию, что будет выделять цветом ту секцию в которой будет находится юзверь:
function lightsec($secarray) {
echo "<ul>\n";
//Перебираем весь массив, создавая основное меню
foreach($secarray as $section => $url) {
//Выводим ссылку на данную секцию, выделяя особыв стилем
$class = '';
if (strncmp($url, $_SERVER['PHP_SELF'], strlen($url)) == 0) {
$class = 'class="current";
}
echo "<li{$class}><a href=\"{$url}\">{$section}</a></li>\n";
}
echo "</ul>\n";
}
Теперь сделаем массив, содержащий имена всех секций и URL
$sections = array(
'news' => '/news',
'photo' => '/photo'
);
?>
И применяем код СSS
<style>
.current, .current a {color:red}
</style>
И вызываем функцию
<?php
lightsec($sections);
?>
Повторяю, что это не статья, а пособие с примерами как можно решить проблемму с которой сталкиваются не мало PHP программистов.
Я просто описал способ достижения цели которым сам пользуюсь и отписал про это сдесь чтобы и вы могли оценить!
//by m0Hze, переместил. Надеюсь больше отдельных тем, для имбо-скриптов не будет.
Последний раз редактировалось m0Hze; 04.05.2010 в 16:06..
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|