Вверх

Блог
RSS лента

PHP

Уверен, что случайности – это результат сложнейших процессов, в которых задействованы не тысячи, а миллионы составляющих. Поэтому, если вы оказались на этой страничке, то нам определенно повезло с результатом запрограммированной свыше функции, в которой мы сыграли роль, скорее всего, переменных))

Приветствую и надеюсь, что заряд позитива вами воспринят!

Но если перейти к серьезным вопросам, то я рассчитываю на то, что представленные на этой странице материалы помогут вам:

  • - разобраться с особенностями применения php кода,
  • - найти подсказку, связанную с установкой php и настройкой,
  • - определить причины совершенно не ожидаемого эффекта при использовании некоторых функций,
  • - глубже вникнуть в язык, научиться применять встроенные функции или создавать собственные.

 

Опять же хочу сказать, что я не буду источником основ пхп, так как сеть наполнена миллионами сайтов с инструкциями и подробными описаниями, позволяющими самостоятельно изучать язык программирования. Мне интересно поделиться теми идеями, которые возникли на базе разработанных умными людьми функций php. Хотелось бы использовать заложенный в языке потенциал не только на 100, но и на 200, 300%, чтобы избежать ситуации, когда есть калькулятор, но им почему-то настырно забивают гвозди :)

Предлагаемые примеры будут включать конкретные php строки с описанием действия и итогового результата, который будет выводиться на экран пользователя. Не могу обещать панацею, но уверен, что материалы – не пустышка даже для матерых программистов, так как бывает достаточно легкого намека в процессе работы над задачей или возникшей проблемой.

Удачных нам решений в покорении пхп и привлечении заинтересованной аудитории на ваши сайты! Спрашивайте, обращайтесь, задавайте вопросы или сами советуйте, чему буду очень рад!

DLE если поле полной новости не заполнено, то...

Сегодня понадобилось на DLE сделать такой механизм: когда поле полной новости пустое, то не выводить один из баннеров. На самом деле с помощью этого Хака можно сделать что угодно, что бы не выводилось. Например если не заполнено полной новости то тогда и с краткой новости не переходить на полную. То есть убрать фул_линк, или не выводить картинку.
Реализовать такое не сложно, но так как экспертом в этой системе я не являюсь покопаться пришлось. В общем первое что нужно это найти и открыть файл "/engine/modules/show.full.php", далее найти строку "$tpl->compile( 'content' );" и вставить перед ней следующее:

  1. if( trim( $row['full_story']) != "" )
  2.     {
  3.      $tpl->set_block("'\[full-story\](.*?)\[/full-story\]'si", "\\1");
  4.     }
  5.     else
  6.     {
  7.      $tpl->set_block("'\[full-story\](.*?)\[/full-story\]'si", "");
  8.     }

Простой способ определить последний элемент foreach

Без подсчета количества элементов, без счетчиков, просто используем функцию next().

  1. foreach ($m_arr as $val) {
  2.   echo $val;
  3.  
  4.   if (!next($m_arr)) {
  5.     echo "элементы закончились, выйти?";
  6.   }
  7. }

Как узнать версию IE/ИЕ ?

Всё предельно просто, смотрим код:

  1. $user_agent = $_SERVER['HTTP_USER_AGENT'];
  2. $browserIE = false;
  3. if ( stristr($user_agent, 'MSIE 5.0') ){
  4.  echo "У Вас ИЕ 5";
  5. }
  6. if ( stristr($user_agent, 'MSIE 6.0') ){
  7.  echo "У Вас ИЕ 6";
  8. }
  9. if ( stristr($user_agent, 'MSIE 7.0') ){
  10.  echo "У Вас ИЕ 7";
  11. }
  12. if ( stristr($user_agent, 'MSIE 8.0') ){
  13.  echo "У Вас ИЕ 8";
  14. }

Через такой код можно дать понять человеку что хватит пользоваться старыми браузерами, например ИЕ 5, ИЕ 6. Или использовать для других нужд.

У вас роблемы с кодировкой? Тогда вам сюда.

Порой на разных хостингах возникает проблема с кодировкой. Все проекты я сохраняю в utf-8, но некоторые серваки настроены на виндовозную кодировку. И не какие преобразования в utf-8 без ВОМ не помогают и мета тег тоже не хочет побороть напасть.
Вот тогда на помощь приходит:

header ('Content-type: text/html; charset=utf-8');

Эту строчку нужно поместить в самом начале вашей индекс страницы, а если быть точным то перед выводом вообще чего либо. Но и опять же это помогает только в том случае если у вас php файл, а не html страничка.

Безопасный метод авторизации на PHP

Давайте посмотрим вокруг: форумы, интернет магазины, гостевые книги и т.д. используют регистрацию и последующую авторизацию пользователей. Можно даже сказать, что это почти необходимая функция каждого сайта (только если это не домашняя страничка Васи Пупкина или не визитная карточка, какой-нибудь небольшой компании). Сегодня я хочу поделиться со всеми новичками информацией, о том, как лучше это все реализовать.

1. Модель (клиент)

Регистрация
- логин (a-z0-9)
- пароль
Вход
- логин
- пароль
Cookie
- уникальный идентификатор юзера
- хэш

Модель (сервер) MySQL

Средство борьбы от ботов в форуме PHPBB

Всех кого достал спам на форумах (phpbb) спасет ниже написаный код:

  1. #
  2. #-----[ ОТКРЫТЬ ]--------------------------------------------
  3. #
  4.  
  5. /include/usercp_register.php
  6.  
  7. #
  8. #-----[ НАЙТИ ]--------------------------------------------
  9. #
  10.   $username_sql = '';
  11.  
  12. #
  13. #-----[ ПЕРЕД, ДОБАВИТЬ ]-----------------------------------
  14. #
  15.  
  16. $from = 'АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ';
  17. $to = 'абвгдеёжзийклмнопрстуфхцчшщъыьэюя';
  18. $_POST['check'] = strtr($_POST['check'],$from,$to);
  19.  
  20. //Ответ должен быть в нижнем регистре, каждый символ!
  21. if ($_POST['check']!= "правильный ответ")
  22.  
  23. {
  24.    $error = TRUE;
  25.             $error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . 'Вы должны правильно ответить на вопрос! Попробуйте еще раз.';
  26. }
  27.  
  28.  
  29. #
  30. #-----[ ОТКРЫТЬ ]--------------------------------------------
  31. #
  32.  
  33. /templates/subSilver/profile_add_body.tpl
  34.  
  35. #
  36. #-----[ НАЙТИ ]---------------------------------------------
  37. #
  38.  
  39. <!-- Visual Confirmation -->

Определение констант

Для определении констант в PHP применяется функция define().

  1. <?php
  2.  Define("PRESIDENT_NAME", "Путин Владимир");
  3.  Define("NUMBER_PI", 3.14);
  4.  Echo PRESIDENT_NAME; // выведет фамилию и имя нашего президента
  5.  Echo NUMBER_PI+4;         // выведет 7.14, т.е. результат сложения.
  6. ?>

Подход к реализации динамически подключаемых библиотек...

Автор: К.Карпенко http://e-code.tnt43.com/
Приветствую всех читающих, ищущих, спотыкающихся и стремящихся рости над собой. Сегодня я бы хотел поразмышлять на тему разработки системы подкючения пакетов функций в рамках платформы PHP. Что же я имею ввиду.
Под пакетами функций, я подразумеваю некоторый набор методов объеденённых относительно семантической зависимости устанавливаемой между ними. Понятие пакета очень хорошо описано в рамках технологии Java, и позволяет создавать более упорядоченные наборы методов, разделяя их относительно их значения и семантики.

PHP и Cookies

Cookies - это механизм хранения данных броузером удаленного компьютера для идентификации возвращающихся посетителей и хранения параметров веб-страниц (например, переменных).

Приведем пример использования Cookies на конкретном примере.

Предположим, нам нужно написать счетчик посещения сайта. Нам нужно знать, какое число посещений сайта осуществлялось каждым конкретным посетителем.

Как получить разрешение экрана клиента и занести в php

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

  1. <?php
  2. if (!isset($_POST['screen'])) {
  3. ?>
  4. <form action="" method="post">
  5. <script language="javascript">
  6. document.write ('<input name="screen" type="hidden" value="'+ screen.width +'_'+screen.height + '"></form>');
  7. document.forms[0].submit();
  8. </script>
  9. <?php
  10. }
  11. if (isset($_POST['screen'])) echo $_POST['screen'];
  12. ?>

Главная | Портфолио | Услуги | Контакты | Блог