ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Результаты опроса: Вам понравилось?
Да, очень 4 36.36%
Нормально 4 36.36%
Нет, это не нужно 3 27.27%
Голосовавшие: 11. Вы ещё не участвовали в этом опросе

Ответ
 
Опции темы Поиск в этой теме Опции просмотра

CW таблица PHP
  #71  
Старый 05.01.2010, 21:51
Аватар для N2kroot
N2kroot
Познающий
Регистрация: 25.10.2009
Сообщений: 54
Провел на форуме:
62271

Репутация: 9
По умолчанию CW таблица PHP

Да, как раз для кс я переделал распростанённый код таблицы на HTML под CSS+PHP...
К сожалению я жадный ии админку не вылажу,так как тогда следующие мои статьи можно будет легко взломать --- админка предусмотрена под 3-10 юзеров разных прав,но незащищена от простого <script> и прочего...

Залил картинки тут: Images.rar

В общем вот мои коды:
CSS стили
PHP код:
body {
    
margin11px 0 0 0;
    
padding0;
    
background#000000 url(images/img1.gif) repeat-x;
    
fontnormal small ArialHelveticasans-serif;
    
color#999999;
}

h1h2h3h4h5h6 {
    
margin0;
    
padding0;
    
text-transformuppercase;
    
letter-spacing.2em;
    
color#000000;
}

pulolblockquote {
    
margin-top0;
    
line-height160%;
}

{
    
text-decorationnone;
    
color#9ED738;
}

a:hover {
    
text-decorationunderline;
}

/* Header */

#header {
    
width720px;
    
height161px;
    
margin0 auto;
    
backgroundurl(images/img2.jpgno-repeat;
}

#header * {
    
text-decorationnone;
    
text-aligncenter;
    
color#000000;
}

#header h1 {
    
padding-top55px;
    
font-size3em;
}

#header h2 {
    
font-size1.2em;
}

/* Menu */

#menu {
    
width720px;
    
height55px;
    
margin0 auto;
}

#menu ul {
    
margin0;
    
padding0;
    list-
stylenone;
    
line-heightnormal;
}

#menu li {
    
displayinline;
}

#menu a {
    
displayblock;
    
floatleft;
    
width142px;
    
height21px;
    
padding7px 1px 0 1px;
    
backgroundurl(images/img3.gifno-repeat center center;
    
text-aligncenter;
    
text-decorationnone;
    
text-transformuppercase;
    
letter-spacing.2em;
    
font-sizex-small;
    
font-weightbold;
    
color#CCCCCC;
}

#menu a:hover, #menu .active a {
    
background-imageurl(images/img4.gif);
    
color#FFFFFF;
}

/* Content */

#content {
    
width720px;
    
margin0 auto;
}

#colOne {
    
floatleft;
    
width160px;
}

#colTwo {
    
floatleft;
    
width360px;
    
padding0 20px;
}

#colThree {
    
floatleft;
    
width160px;
}

/* Content Elements */

#content h2 {
    
height21px;
    
margin-bottom20px;
    
padding9px 0 0 10px;
    
backgroundurl(images/img6.gif);
    
letter-spacingnormal;
    
font-size.9em;
}

#content h3 {
    
text-transformuppercase;
    
letter-spacingnormal;
    
font-sizex-small;
    
color#FFFFFF;
}

#content ul {
    
margin-left0;
    
padding-left0;
    list-
stylesquare inside;
}

/* Footer */

#footer {
    
height70px;
    
padding7px 0 0 0;
    
backgroundurl(images/img5.gifrepeat-x;
}

#footer * {
    
color#000000;
}

#footer p {
    
text-aligncenter;
    
font-sizesmaller
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:
PHP код:
Ness::
Минус только 1: Нету защиты у бд...Полностью мой код(кроме таблицы,конечноже )
Прошу критику и прочее писать, мне интересно
P.S. Кому помог +

Последний раз редактировалось N2kroot; 05.01.2010 в 21:53..
 
Ответить с цитированием

Конкатенация в JS
  #72  
Старый 28.01.2010, 23:03
Аватар для mff
mff
Познавший АНТИЧАТ
Регистрация: 12.03.2008
Сообщений: 1,379
Провел на форуме:
5866479

Репутация: 1809


Отправить сообщение для mff с помощью ICQ
По умолчанию Конкатенация в JS

В отличие от некоторых других языков, оператор "+" делает конкатенацию, если хотя бы один операнд - строка, причем, не обязательно первый.
Код HTML:
alert(+"123"+num);
Но как же быть, если нужно сделать конкатенацию имен переменных? Пример:
Код HTML:
window["p_"+num+"_pos"]=2;
Код HTML:
document.getElementById("panel_"+num).style.display="block";
 
Ответить с цитированием

Экранный анализатор на PHP
  #73  
Старый 31.03.2010, 01:06
Аватар для Dr.Brain
Dr.Brain
Banned
Регистрация: 04.09.2009
Сообщений: 67
Провел на форуме:
178600

Репутация: 22
Отправить сообщение для Dr.Brain с помощью ICQ
По умолчанию Экранный анализатор на 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>';
?>
 
Ответить с цитированием

  #74  
Старый 04.05.2010, 12:15
Аватар для MDxaker
MDxaker
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.---
Бот почему-то сам выходит из онлайна, надо его заново запускать
Нужно изменить тайм-лимит на исполнение скрипта.

Пишет ошибку при выполнении скрипта
Куча причин возможно.
Может быть аська и пароль бота не правильны или хостинг лажет, а может и в скрипте проблемма

Не входит в он-лайн
Пароль с асей могут быть не правильные. Или хостинг не позволяет

Очень долго отвечает бот
Хостинг возможно тупит, или Ваш бот очень загружен
 
Ответить с цитированием

  #75  
Старый 04.05.2010, 12:16
Аватар для MDxaker
MDxaker
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>
";
Удостоверимся что результат выводится
Цитата:
flush();
}
Создадим функцию, которой передадим % в виде числа, а она просто будет генерировать правильный 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..
 
Ответить с цитированием

  #76  
Старый 04.05.2010, 12:17
Аватар для MDxaker
MDxaker
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..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обнаружение Sql инъекций и Css атак k00p3r Чужие Статьи 0 12.06.2005 20:43



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ