Небольшие статьи [html, Css, Js, Php]

Discussion in 'PHP' started by banned, 16 Apr 2008.

?
  1. Да, очень

    50.0%
  2. Нормально

    40.0%
  3. Нет, это не нужно

    10.0%
  1. [dword]

    [dword] Elder - Старейшина

    Joined:
    11 Apr 2007
    Messages:
    109
    Likes Received:
    74
    Reputations:
    40
    ; - забыли в Вашем примере :)

    В 9.64 работает ;)
    Пример:
    HTML:
    <a href="http://forum.antichat.ru" title="Форум АНТИЧАТ 	 Forum ANTICHAT">ссылка</a>
     
    #61 [dword], 14 Oct 2009
    Last edited: 14 Oct 2009
  2. mff

    mff Elder - Старейшина

    Joined:
    12 Mar 2008
    Messages:
    2,074
    Likes Received:
    701
    Reputations:
    227
    [dword], поправил первый пост, я имел в виду вертикальную табуляцию

    ; забыл, ага. Еще заметил что в FF тоже не работает.
     
  3. FeraS

    FeraS Elder - Старейшина

    Joined:
    19 Jan 2007
    Messages:
    555
    Likes Received:
    420
    Reputations:
    76
    Тень для текста с помощью CSS
    Может кто-то и не знает, но красиво оформить текст с помощью добавления к нему тени можно и без использования всяких JS-скриптов.
    Для этого существует свойство text-shadow.

    Пример использования:
    Code:
    h2 {
     color: #FF0000;
     text-shadow: 2px 2px 4px #0000FF;
    }
    
    HTML:
    <h2>Текст с тенью</h2>
    
    Теперь наш заголовок второго уровня будет красный с синей тенью.

    Циферки в свойстве означают:
    • Первые две цифры (2px 2px) — смещение тени на n пикселей по горизонтали и вертикали соответственно. Т.е. в нашем примере тень будет смещена на 2 пикселя вправо и вниз.
      Можно указывать и отрицательные значения, тогда тень будет смещаться влево вверх.
    • Третья цифра (4px) — ширина тени.
    • Ну и последним в свойстве указывается цвет тени, в нашем случае это синий.

    Вот, впринципе и все. Единственная проблема — совместимость с браузерами.
    В Opera 10, Firefox 3.5.3, Chrome 3.0.195 — все ок работает;
    в InternetExplorer 8 — не работает.
     
    1 person likes this.
  4. mff

    mff Elder - Старейшина

    Joined:
    12 Mar 2008
    Messages:
    2,074
    Likes Received:
    701
    Reputations:
    227
    Кроссбраузерное добавление страницы в закладки

    JS
    HTML:
    function add_favorite(a) { 
    	title=document.title; 
    	url=document.location; 
    	try { 
    		// Internet Explorer 
    		window.external.AddFavorite(url, title); 
    	} 
    	catch (e) { 
    		try { 
    			// Mozilla 
    			window.sidebar.addPanel(title, url, ""); 
    		} 
    		catch (e) { 
    			// Opera 
    			if (typeof(opera)=="object") { 
    				a.rel="sidebar"; 
    				a.title=title; 
    				a.url=url; 
    				return true; 
    			} 
    			else { 
    			// Unknown 
    			alert('Нажмите Ctrl+D чтобы добавить страницу в закладки.'); 
    			} 
    		} 
    	} 
    	return false; 
    }
    HTML
    HTML:
    <a href="#" onclick="javascript: return add_favorite(this);">Добавить в Избранное</a>
    Результаты проверки:

    • Opera 10.00 - работает
    • Internet Explorer 7 - работает
    • Mozilla Firefox 3.0.14 - работает
    • Google Chrome 3.0.195.27 - alert (Ctrl+D работает)
    • Apple Safari 4.0 (530.17) - alert (Ctrl+D работает)

    :cool:
     
    3 people like this.
  5. LStr1ke

    LStr1ke Elder - Старейшина

    Joined:
    29 Jul 2009
    Messages:
    801
    Likes Received:
    145
    Reputations:
    73
    DonkeyDick
    В теле страницы все равно остается куча не нужного кода. А за <xml и <noscript> ждите бан. вашему сайту..
    Это партнерство. Ты бесплатно используешь их хостинг, они привлекают потенциальных клиентов...
    Единственное верное решение - потратить 50 рублей себе на хостинг =\
     
  6. Se7en

    Se7en New Member

    Joined:
    5 Apr 2009
    Messages:
    6
    Likes Received:
    0
    Reputations:
    0
    Вообще бред, можно подумать, что каждый сайт, использующий эти теги, неизбежно отправляется в баню! Сколько раз юзал <noscript> и всё было в порядке, никакого бана не последовало.

    DonkeyDick,
    LStr1ke,

    Статические баннеры можно скрывать параметром opacity:

    Code:
    img {
    opacity: 1.0;
    filter:progid:DXImageTransform.Microsoft.Alpha (opacity=100); 
    }
     
    #66 Se7en, 31 Oct 2009
    Last edited: 31 Oct 2009
  7. N2kroot

    N2kroot New Member

    Joined:
    25 Oct 2009
    Messages:
    75
    Likes Received:
    3
    Reputations:
    0
    Статья: Мини-комментатор на Php в одном файле,использующий в качестве бд файлы.
    Я недавно начал изучать PHP и сразу захотелось создать что-нибудь,да не просто 1+1=2 ,а довольно полезное...

    Итак:
    Всё в трёх файлах,ниже --- и форма и вывод:
    PHP:
    <html><?php
    include('config.php'); 
     
    #вывели данные
    $fh file("mess.txt"); 
    for (
    $i count($fh); $i>0$i--) echo ($fh[$i-1]."<br>"); ?>
     <form name="form1" method="post" action="vid.php"> 
    <INPUT TYPE="text" NAME="mess"><BR>   
    <INPUT TYPE="submit" value="Отправить"><BR>
    <b>Текст</b>-[b]Текст[/b]<BR>  
    <i>ТЕКСТ</i>-[i]Текст[/i]<BR>  
    </form>  
    <?php $today date("H:i:s"); echo ("Щас :<b> $today</b>"?>
    </html>
    <?php 
    #теперь запись
     
    if(isset($_POST['mess'])) { 
    $mess $_POST['mess'];
    } else { 
      echo (
    "Сообщение пусто"); 

    if (
    $mess == '') { 
    echo (
    ",или заданы неверные символы!"); 
    } else { 
    $m $_POST['mess'];
    $fh fopen("mess.txt","a");   
    $today date("H:i:s");     
    $mess trim($mess);     
    fwrite($fh,"<BR><FONT COLOR='#0000CC'>$today </FONT><FONT  COLOR='#FF0000'>$ip</FONT>$m<BR>");   
    fclose($fh); 

    ?>  
    Добавочный файл : config.php
    PHP:
    <?php
    $m 
    str_replace("[b]","<b>",$m);  
    $m str_replace("[/b]","</b>",$m);  
    $m str_replace("[/i]","</i>",$m);  
    $m str_replace("[i]","<i>",$m);  
    ?>
    В примере я использовал форму для отправки кс серваков,поскольку все их не запомнить,а в избранном и так их море,тут можно написать ип,хар-ку...
    Ник отправителя = Ip через прокси его(как уж знаю так и сделал :) )
    Текст : через trim($text) очищаем от вредных знаков...
    Респект АНТИЧАТу за обильный материал,на основе которого это было сделано...
     
    #67 N2kroot, 15 Nov 2009
    Last edited: 15 Nov 2009
    1 person likes this.
  8. WNZRS

    WNZRS Member

    Joined:
    3 Sep 2009
    Messages:
    294
    Likes Received:
    52
    Reputations:
    1
    Защита паролей

    Следующий скрипт захэширует пароль так, что его будет очень сложно расшифровать (пробрутить), причём без соли...
    PHP:
    <?php
        $pass 
    '123456';
        
    $md5 md5($_GET['p']);
        
    $md5 base_convert($md51610);
        
    $md5 strrev($md5);
        
    $md5 base_convert($md51016);
        
    $md5 md5($md5);
        echo 
    "Password's hash: ".$md5;
    ?>
    Стандартный md5 пароля 123456 вернёт e10adc3949ba59abbe56e057f20f883e
    после всех операций в скрипте, хэш получится совсем другой (d23f62509ec1c377a9744174e325ee63).
    Для усиления ещё можно использовать арифметические операции.
     
  9. N2kroot

    N2kroot New Member

    Joined:
    25 Oct 2009
    Messages:
    75
    Likes Received:
    3
    Reputations:
    0
    Это не статья, напиши ещё: как разшифровать и сделай полу ввода =)
     
  10. N2kroot

    N2kroot New Member

    Joined:
    25 Oct 2009
    Messages:
    75
    Likes Received:
    3
    Reputations:
    0
    Что за файлики инклудятся? Потерял пока писал? Или как :D
     
  11. N2kroot

    N2kroot New Member

    Joined:
    25 Oct 2009
    Messages:
    75
    Likes Received:
    3
    Reputations:
    0
    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
    Минус только 1: Нету защиты у бд...Полностью мой код(кроме таблицы,конечноже :) )
    Прошу критику и прочее писать, мне интересно :D
    P.S. Кому помог +
     
    #71 N2kroot, 5 Jan 2010
    Last edited: 5 Jan 2010
  12. mff

    mff Elder - Старейшина

    Joined:
    12 Mar 2008
    Messages:
    2,074
    Likes Received:
    701
    Reputations:
    227
    Конкатенация в JS

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

    Dr.Brain Banned

    Joined:
    4 Sep 2009
    Messages:
    6
    Likes Received:
    16
    Reputations:
    0
    Экранный анализатор на PHP

    [​IMG]

    Сегодня я раскажу как с помощю PHP, реализовать экранный анализатор!

    Экранный анализатор - программа или скрипт, которая просматривает Web-страницу, извлекая при этом нужные данные.
    Сейчас мы расмотрим простейший анализатор, который извлечет ссылки и отсортирует их по катеогориям!



    И так, первым делом мы создадим форму что передаст нашему скрипту ссылку!

    Code:
    <?php
    echo '<form method=get>
    Ваша ссылка: <input name="url" type="text" value="http://">
    </form>';
    
    Теперь перейдём непосредственно к получению и обработке ссылки

    Code:
    if (isset($_REQUEST["url"])) {                   // проверяем наличие ссылки
    $url = $_REQUEST["url"];                         // получаем данные от формы
       if (!preg_match('|^https{0,1}://|', $url)) {     // С помощю регулярного выражения, проверяем ссылку
            print "URL $url не является валидным!";         
            exit(0);
       }
    }
    
    Самое время получить ссылки! Я буду использовать простую функцию file_get_contents(), потому-что в нашем случае использовать socket или curl безсмысленно!


    Code:
    $page = file_get_contents($url);                                    // Получаем страницу
    preg_match_all('|<a\s[^>]*href="([^"]+)"|i', $page, $match);        // С помощю регулярки, вытягиваем все гиперссылки!
    

    Теперь все гиперссылки находятся в массиве $match[1], а match[0] содержит все совпадения!
    Можна инициализировать массивы, которые будем использовать для хранения и сортировки ссылок!

    Code:
    $all = array();
    $js = array();
    $full = array();
    $local = array();
    
    Получив все что нужно, начнём сортировку!

    Code:
    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;                           // Остатки
                  }
    
            }
    

    Мы все сделали, осталось лишь вывести результат!

    Code:
    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>';
    ?>
    
    

    Вот и все!

    В результате у нас получился вот такой скрипт:

    Code:
    <?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>';
    ?>
    
     
  14. MDxaker

    MDxaker Banned

    Joined:
    17 Mar 2009
    Messages:
    56
    Likes Received:
    15
    Reputations:
    0
    [​IMG]

    Статья посвященная созданию ICQ бота на PHP языке!
    Автор статьи я! Потому все связаные с ней вопросы ко мне!

    Арсенал:

    1) Хостинг или дедик
    2) Знание PHP
    3) Клас ICQ
    4) ICQ номер бота
    5) Руки

    ---Шаг первый---

    Начнем с того что найдем клас для создания бота.
    Этот клас сам разберется со всеми проблемами протокола ICQ и позволит нам подлючится к ICQ за несколько комманд.

    Я выбрал mlCQ library v0.4 (Скачать все PHP скрипты сможете вконце темы)
    Называем его lib.php и на время забываем.

    ---Шаг второй---

    Создадим файл конфига conf.php!
    В нем будут хранится разного рода настройки скрипта и бота.
    Например ICQ и пароль бота, его статус и будет ли скрипт вести логи.


    conf.php
    Сохраняем в папке с lib.php и забываем!

    ---Шаг третий---

    Перейдем к оболочке бота и скрипте что будет управлять всем функционалом!
    Тут будет хранится скрипт входа в on-line, скрипт обработки и еще много чего!

    Начнем с того что подключим lib.php и conf.php!

    bot.php
    Теперь определим параметр ICQ birthday, логов и запустим бота
    Ну а сейчас займёмся списком команд
    Вот теперь самая сложная часть которая разместит в себе весь остаток кода!
    Сохраняем как bot.php, и идем на хостинг

    ---Шаг четвертый---

    Нам нужен хостинг под бота!
    Я своего держу на bravohost.ru. Почему там?
    Там можно редактировать настройку о том сколько может исполнятся скрипт + есть cron который будет перезапускать скрипт каждые 10 мин.

    Если хотите делать на дедике, то устанавливайте любую сборку сервера и в настройках укажите любое нужное Время исполнения, через которое Ваш скрипт остановится (Т.е. Вам надо будет его запускать снова)

    Выбрали? Идем на хост и заливаем скрипты.
    На папку с скриптом (Если нужны логи) кладем права 777.

    Теперь запускаем bot.php и скрипт не должен открыватся (Т.е. Зависнуть)
    Добавляйте бота и общайтесь с ним.

    Если же ошибка, значит где-то в коде проблема или с хостингом лажа.


    Вот пак из скриптов, которые собраны по этой статье!
    Там находится клас mlCQ. Конфиг и оболочка бота!
    Скачать upwap.ru: Архив с скриптами


    ---F.A.Q.---
    Бот почему-то сам выходит из онлайна, надо его заново запускать
    Нужно изменить тайм-лимит на исполнение скрипта.

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

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

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

    MDxaker Banned

    Joined:
    17 Mar 2009
    Messages:
    56
    Likes Received:
    15
    Reputations:
    0
    [​IMG]

    Сегодня я постараюсь расказать о том как сделать динамический индикатор выполнения задачи или просто progress bar!
    Эта тема не претендует на звание статьи, но то что она девствительно нужна многим PHP программистам - это правда, потому прошу выделить ей отдельный топик.

    Статья моя, и все вопросы касающиеся ее прошу задавать сдесь!

    Я раскажу о том как сделать progress bar, который будет прослеживать любую задачу скрипта и динамически уведомлять юзера.
    Постараюсь пошагово разьяснить все аспекты и помочь Вам в разборе скрипта.

    А теперь о progress bar'e:
    Начнем!


    Progress bar - Легкая версия

    Создадим простую, текстовую версию прогресс бара:

    Выводим на экран сообщение что предупредит пользователя о загрузке скрипта
    ВЫ можете вписать свое сообщение, все на свой вкус..

    Теперь реализуем цикл, который будет определять заданую задачу и выводить точку
    Если вы захотите использовать данный прогресс бар, Вам нужно будет заменить цикл while(true) на реальную проверку выполнения конкретной задачи.
    Например существования файла или процес загрузки...
    Вы можете реализовать нужный цикл с даным условием)

    Progress bar - PHP + CSS версия

    Создадим более сложную и более красивую версию:

    Для начала создадим функцию, что будет создавать исходный вид полосы
    Теперь выведем начальный XHTML, что будет перезаписан позже
    Удостоверимся что результат выводится
    Создадим функцию, которой передадим % в виде числа, а она просто будет генерировать правильный div
    И закончим скрипт инициализацией функции progressbar() и имитацией деятельности (Обновляя последовательно результат)

    Вот и все. Вы можете легко доделать скрипт под себя и свои сайты..

    С уважением, MDxaker from Antichat!
     
    #75 MDxaker, 4 May 2010
    Last edited: 4 May 2010
  16. MDxaker

    MDxaker Banned

    Joined:
    17 Mar 2009
    Messages:
    56
    Likes Received:
    15
    Reputations:
    0
    [​IMG]

    Сейчас я раскажу о том, как сделать "выделялку" части сайта, на которой находится юзер
    Эта тема не претендует на звание статьи, потому прошу не писать глупые комменты о том что толку 0 и т.п.!
    Запомните, толк всегда есть, даже если статья посвящена тому как нужно выгребать говно!

    Статья моя, и все вопросы касающиеся ее прошу задавать сдесь!

    Бредословие:

    Навигация с выделеным цветом

    Создадим функцию, что будет выделять цветом ту секцию в которой будет находится юзверь:

    Теперь сделаем массив, содержащий имена всех секций и URL

    И применяем код СSS

    И вызываем функцию

    Повторяю, что это не статья, а пособие с примерами как можно решить проблемму с которой сталкиваются не мало PHP программистов.
    Я просто описал способ достижения цели которым сам пользуюсь и отписал про это сдесь чтобы и вы могли оценить!
    //by m0Hze, переместил. Надеюсь больше отдельных тем, для имбо-скриптов не будет.
     
    #76 MDxaker, 4 May 2010
    Last edited by a moderator: 4 May 2010
  17. realcoder

    realcoder Member

    Joined:
    9 Dec 2010
    Messages:
    226
    Likes Received:
    11
    Reputations:
    4
    Делаем капчу на своем сайте для защиты от ботов

    Сейчас я покажу, как сделать на своем сайте защиту от ботов в виде captcha теста.

    1. Сначала необходимо подготовить картинки.
    нужны картинки с изображениями цифр от 1 до 10. Из них будет формироваться рисунок капчи. чтобы не заморачиваться можете воспользоваться моими http://zalil.ru/30568737. Распакуйте их в папку img\

    2. Нужно подготовить форму, которую необходимо защитить

    Я набосал простую форму, где просто преверяется капча:
    PHP:
    <HTML>
    <HEAD><TITLE>Form</TITLE></HEAD>
    <BODY>
    <form action="check.php" method=post>
    <p>Введите числа с картинки:</p>
      <?php
            $i
    =1;
            do
            {
            
    $num[$i] = rand(0,9);
            echo 
    "<img  src='img/".$num[$i].".gif' border='0'
            align='bottom' vspace='5px'>"
    ;
            
    $i++;
            }
            while (
    $i<5);
            
    $captcha=$num[1].$num[2].$num[3].$num[4];
            
    ?>
      <input name="pr" style="margin-bottom:11px" type="text"
      size="6" maxlength="4">
      <br>
        <input name="captcha" type="hidden" value="<?php echo $captcha;?>">
      <br>
      <INPUT TYPE="SUBMIT"  name="submit" value="Check">
    </FORM>
    </BODY>
    </HTML>

    3. Напишем скрипт для проверки(check.php):
    PHP:
    <?php
    if($_POST["captcha"]==$_POST["pr"])
    {
    echo 
    "<h1>Captcha OK!</h1>";
    }
    else
    {
    echo 
    "<h1>Invalid Captcha!</h1>";
    }
    ?>
    Вот и все. Можете убедиться в этом!
     
    #77 realcoder, 25 Feb 2011
    Last edited: 25 Feb 2011
  18. realcoder

    realcoder Member

    Joined:
    9 Dec 2010
    Messages:
    226
    Likes Received:
    11
    Reputations:
    4
    Узнаем страну посетителя сайта по IP

    PHP:
    function whois($ip)
    {
      if (
    $ip!="") {
        
    $sock fsockopen ("whois.ripe.net",43,$errno,$errstr);
        if (
    $sock) {
           
    fputs ($sock$ip."\r\n");
          while (!
    feof($sock)) {
            
    $str.=trim(fgets ($sock,128)." <br>");
          }
        }
        else {
              
    $str.="$errno($errstr)";
          return;
        }
        
    fclose ($sock);
      }
      return 
    $str;
      }
     
    $whois=whois($_SERVER['REMOTE_ADDR']);
     
    $need "country:";
     
    $pos strpos($whois,$need);
     
    $search substr($whois,$pos,18);

     
    $excount explode(":"$search);

     
    $country trim($excount[1]); //готово
    в результате в переменной $country окажется страна посетителя. к примеру можно запретить посещение ващего сайта для пользователей украины:
    PHP:
    if($country=="UK")
    {
    echo 
    "ACCES DENIDED!!!!";
    exit;
    }
     
  19. Fepsis

    Fepsis Elder - Старейшина

    Joined:
    17 Sep 2008
    Messages:
    791
    Likes Received:
    391
    Reputations:
    72
    Оффтоп
    realcoder, вообще капча делается для защиты от ботов, твою же любой уважающий себя бот обойдёт.. Во-первых значение поля "captcha" легко парсится из исходника страницы, во-вторых, тут даже парсить ничего не придётся, просто бот передаёт pr=ololo и captcha=ololo и твой скрипт его пропускает
    PHP:
    if($_POST["captcha"]==$_POST["pr"]) 

    echo 
    "<h1>Captcha OK!</h1>"
    }
     
  20. mff

    mff Elder - Старейшина

    Joined:
    12 Mar 2008
    Messages:
    2,074
    Likes Received:
    701
    Reputations:
    227
    Верстаем таблицу дивами (слоями)

    HTML:
    <style type="text/css">
    <!--
    .table {
    	display:table; border-top:solid 1px #D3E0F4; border-right:solid 1px #D3E0F4;
    }
    .table div {
    	display:table-row; border-left:solid 1px #D3E0F4; padding:2px; border-bottom:solid 1px #D3E0F4; padding:2px; vertical-align: top;
    }
    .table div div {
    	display:table-cell
    }
    -->
    </style>
    HTML:
    <div class="table"> <!-- таблица -->
    	<div> <!-- строка таблицы -->
    		<div>Античат</div> <!-- ячейка таблицы -->
    		<div>Античат</div>
    		<div>Античат</div>           
    	</div>
    	<div>
    		<div>1</div>
    		<div>2</div>
    		<div>3</div>
    	</div>
    </div>