Разработка, поддержка, продвижение сайтов. г. Краснодар. ed.proff@gmail.com

Программисты, изготавливая клиенту сайт, бывают прикалываются (о чем клиент бывает и не догадывается)…

А сайты-то довольно крупных и известных компаний!

Кликнуть чайку
]]>http://www.lazurnoe.com/

]]>

Кликнуть по носу оленю в правом верхнем углу
]]>http://www.greenbag.ru/

]]>

Кликаем три раза на рыбаке на лодке
]]>http://www.fishingspb.ru/

]]>

Дожидаемся появления надписи «газон» и кликаем по мужичку с серпом (на сам серп)
]]>http://www.gazon-avangard.ru/redactor.php?id_part=9

]]>

Сначала нажимаем на «как проехать», сразу после этого «как пройти», сразу после этого на логотип каминов на схеме, появляется красная машинка и смотрим
]]>http://www.i-kamin.ru/maps/sushevskiy_val.html

]]>

Жмем на самолет
]]>http://super-perevod.com.ua/

]]>

Нажимаем shift и на логотип на сайте
]]>http://mechenosets.ru/

]]>

Наведите курсор на носатого человечка вверху слева возле цифр 559
]]>http://559.tut.ua/

]]>

Кликните в баннере на луне 5 раз.
]]>http://www.energoservis.net/

]]>

На логотипе кликнуть бобру на язык
]]>http://bobrikov.net/

]]>

Три раза кликнуть на любом из светофоров внизу страницы. Два варианта развития
]]>http://www.doroga78.ru/

]]>

Кликаем на красные туфельки
]]>http://pool.in.ua/products/baseinspa/

]]>

У девушки, которая слева, в руках доска. Надо ткнуть мышкой в доску несколько раз подряд.
]]>http://miss.sporthit.ru/

]]>

Дождаться блондинку, кликнуть по ромашке
]]>http://multimenu.ru/

]]>

Лайт версия жмём на O в лого, хард версия — жмем на U в лого
]]>http://seopult.ru

]]>

Три раза кликнуть по строителю в нижнем левом углу
]]>http://rem-ivbb.ru

]]>

5 раз тянуть ярлык вниз-вверх
]]>http://completo.ru

]]>

Ведите мышку вправо до конца магазина там стоит охранник ткните на нём несколько раз смотреть как помиловать так и казнить)))) и так же на центарльную продавщицу несколько раз
]]>http://zoloto585.ru

]]>
Удобный метод ассинхронных Ajax запросов, без использования javascript библиотек

Подключать javascript библиотеку не всегда удобно, по этому решил написать аналог на чистом javascript'е.

С помошью этой функции вы можете делать POST запросы на сервер и получасть результат выполнения запросов в фоновом режиме.

  1. var $ = new Object();
  2. $.xhr = null ;
  3. $.val = null ;
  4. $.err = false ;
  5. $.RequestObject = function() {
  6.         if (typeof XMLHttpRequest === 'undefined') {
  7.                 XMLHttpRequest = function() {
  8.                         try { return new ActiveXObject("Msxml2.XMLHTTP.6.0"); }
  9.                                 catch(e) {}
  10.                         try { return new ActiveXObject("Msxml2.XMLHTTP.3.0"); }
  11.                                 catch(e) {}
  12.                         try { return new ActiveXObject("Msxml2.XMLHTTP"); }
  13.                                 catch(e) {}
  14.                         try { return new ActiveXObject("Microsoft.XMLHTTP"); }
  15.                                 catch(e) {}
  16.                         throw new Error("This browser does not support XMLHttpRequest.");
  17.                 }
  18.         }
  19.         return new XMLHttpRequest();
  20. }
  21. $.reUrl = function(url) {
  22.         return url+'?hash=' + Math.random() ;
  23. }
  24. $.post = function(url,params) {
  25.         if( $.val === null ) {
  26.                 $.val = params;
  27.         }
  28.         if( $.xhr === null ) {
  29.                 $.xhr = $.RequestObject();
  30.         }
  31.         if ($.xhr) {
  32.                 $.xhr.open("POST", $.reUrl( url ), true);
  33.                 $.xhr.onreadystatechange = $.processChange;
  34.                 $.xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
  35.                 $.xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
  36.                 $.xhr.send( $.toParse() );
  37.         }
  38. }
  39. $.processChange = function() {
  40.         try {
  41.                 if ($.xhr.readyState == 4) {
  42.                         if ($.xhr.status == 200) {
  43.                                 var fn = $.val.onSuccess ;
  44.                                 if (typeof (fn) == 'function') {
  45.                                         return fn($.xhr.responseText);
  46.                                 }
  47.                         } else {
  48.                                 if($.err) alert("Не удалось получить данные:\n" + $.xhr.statusText);
  49.                         }
  50.                 }
  51.         }
  52.         catch( e ) {}
  53. }
  54. $.toParse = function() {
  55.         var j = 0 ;
  56.         var str = '';
  57.         for( var i in $.val.variables ) {
  58.                 if( j > 0 ) str += '&';
  59.                 str += i+'='+$.val.variables[i];
  60.                 j = 1 ;
  61.         }
  62.         return str ;
  63. }

Пример использования :

  1. $.post( '/ajax.php', {
  2.         variables: { event: "add", id: "1" } , // Пост параметры
  3.         onSuccess: function ( data ) {
  4.                 // Обработка полученных результатов
  5.         }
  6. });

Обработка полученных результатов на сервере:

  1. <?php
  2. if($_SERVER['HTTP_X_REQUESTED_WITH']=='XMLHttpRequest'){
  3.         // Обработка полученных данных
  4. }
  5. ?>

Скачать архив - ajax.php ( 0.103 кб.), ajax.js ( 1.997 кб.) и ajax.min.js ( 1.625 кб.)

PHP, изображение с вертикальным текстом

Функция для создания вертикального изображение с текстом, с поддержкой кириллицы.

  1. function __vertical( $name, $text ) {
  2.     $root = $_SERVER['DOCUMENT_ROOT'] ;
  3.     // Подключаем шрифт
  4.     $font = $root."/fonts/arial.ttf" ;
  5.    
  6.     $im = ImageCreate( 190, 20 ) ;
  7.     $background_color = ImageColorAllocate( $im, 255, 255, 255 ) ;
  8.     $text_color = ImageColorAllocate($im, 0, 0, 0 ) ;
  9.    
  10.     // Рисуем текст на картинке
  11.     ImageTTFText( $im , 12 , 0, 2, 15, $text_color, $font, $text ) ;
  12.     ImagePNG( $im, $root."/temp/cache.png") ;
  13.    
  14.     // Переворачиваем картинку на 90 градусов
  15.     $im2 = imagerotate( $im, 90, 0 ) ;
  16.    
  17.     // А может картинку уже существует? Проверяем.
  18.     if( !file_exists( $root.'/images/vert_'.$name.'.png' ) ) {
  19.         ImagePNG($im2, $root.'/images/vert_'.$name.'.png' ) ;
  20.         ImageDestroy( $im2 ) ;
  21.     }
  22.     ImageDestroy( $im ) ;
  23.    
  24.     // Удаляем временное изображение
  25.     if( file_exists( root.'/temp/cache.png' ) ) {
  26.         unlink( root.'/temp/cache.png' ) ;
  27.     }
  28. }
Как вставить флеш?

Чтобы вставить флешку на сайт нужно использовать код который ниже.

  1. <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" height="100" width="100" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0">
  2.     <param name="movie" value="images/flash.swf"/>
  3.     <param name="quality" value="high"/>
  4.     <param name="menu" value="false"/>
  5.     <param name="wmode" value="transparent"/>
  6.     <embed src="images/flash.swf" height="100" width="100" wmode="transparent" quality="high" menu="false" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" align="absbottom">
  7. </object>
Валидный <noindex> :
  1. <del style="display:none"><![CDATA[<noindex>]]></del>
  2. <!-- noindex content -->
  3. <del style="display:none"><![CDATA[</noindex>]]></del>
Подборка регулярных выражений:

Для проверки адреса электронной почты:

  1. [A-Za-z0-9](([_.-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([.-]?[a-zA-Z0-9]+)*)([.]){1}(([A-Za-z]){2,6}+){1}

Пример использования:

  1. $email = "example@example.com" ;
  2. if(isset($email) && preg_match("%^[A-Za-z0-9](([_.-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([.-]?[a-zA-Z0-9]+)*)([.]){1}(([A-Za-z]){2,6}+){1}$%", trim($email)) ) {
  3.     return true ;
  4. }
  5. return false ;
  6.  
  7.  

Также для проверки адреса электронной почты можно использовать стандартную функцию php filter_input, поддерживается начиная с PHP 5.2.0:

Синтаксис функции filter_input:

filter_input( input_type, variable, filter, options )

Параметры input_type:

  • INPUT_GET
  • INPUT_POST
  • INPUT_COOKIE
  • INPUT_ENV
  • INPUT_SERVER
  • INPUT_SESSION
  • INPUT_REQUEST

Пример использования:

  1. <?php
  2.      filter_input(INPUT_POST, 'email', FILTER_VALIDATE_EMAIL))
  3. ?>

Для проверки телефонного номера:

  1. (?:15|\+[0-9])? ?(\[^$])?\(?(\d{3,5})\)? ?(\[^$])?(\d{2,3})[ -]?(\d{2,3})[ -]?(\d{2,3})