Отправляет email-рассылки с помощью сервиса Sendsay

Программистские записки

  Все выпуски  

Как выделить код на странице.


Как выделить код на странице.
2009-09-02 23:08 Неумелый программист
Разместить код на html странице весьма нелегкая задача иногда, ведь очень часто тело страницы и код начинают перекликаться, т.е. код который должен выводиться как обычный текст выполняется браузером, что весьма неудобно например если вы поддерживаете ресурс о html или php. Вот тут то вам и поможет html тэг code Данный тэг предназначен для отображения программного кода [...]

Защита от злоумышленника или фильтруем все.
2009-09-04 00:45 Неумелый программист
Одной из важнейших задач встающих перед начинающим разработчиком php является защита от взлома кода. Взломать конечно можно по разному, но в большинстве случаев взлом происходит из-за невнимтельности(читайте усталости, ваш покорный слуга круглыми ночами в свое время занимался разработкой проектов в следствии чего под утро писал такой код что на след…вечер было самому страшно смотреть) программиста. [...]

Переход между страницами для статического сайта.
2009-09-06 16:09 Неумелый программист
На одном из форумов мне задали вопрос как сделать навигацию по страницам новостей для статического сайта, т.е. сайта полностью сделанного на html. Для такого сайта вариант, на мой вщгляд только один: читать файлы из директории (файлы в имени должны иметь цифру-страницу) и потом выводить. Либо сортировать по дате создания. Чтож приступим к написанию. <?php $conf_array = array( 'news' =>  array('filepath'=>'themes/','type'=>'time','ext'=>'php','pref'=>''), 'catalog'=>  array('filepath'=>'rtop/','type'=>'name','ext'=>'php','pref'=>'cat'),  //файлы в диррректории cat1.html,cat2.html  т.д. );  //Массив конфигов дирректорий  //и типа сортировки имя или дата последнего изменения //префикс нужен для сортировки исключительно по имени. $cat = $_GET['cat'];  //Элемент массива GET соответствующий ключу массива $conf_array if($cat) {     if(isset($conf_array[$cat])){          //Проверяем существует ли такой элемент массива         if(file_exists($conf_array[$cat]['filepath']))         {             $dir = opendir($conf_array[$cat]['filepath']);              //Открываем дирректорию             while(($file = readdir($dir))!==false)              //В цикле читаем дирректорию получая              //все имена файлов в данной дирректории             {                 $ext = explode(".",$file);                 $ext = $ext[count($ext)-1]; //ext - расширение файла                 if(!is_dir($conf_array[$cat]['filepath'].$file) &&                  $ext = $conf_array[$cat]['ext'])                  {//Проверяем не дирректория ли файл и расширение дозволено ли                     if($conf_array[$cat]['type'] == 'time'){                         //Какой тип сортировки в зависимости от этого такие ключи массива                         $pages[filemtime($conf_array[$cat]['filepath'].$file)] = $conf_array[$cat]['filepath'].$file;                     }                     else                      {                         $str = str_replace($ext,'',$file);                         $str = str_replace($conf_array[$cat]['ext'],'',$file);                          //Получаем числа-номера страниц. В дальнейшем при переборке                           //и выводе можно не плюсовать переменную а использовать их                         $pages[$str] = $conf_array[$cat]['filepath'].$file;                     }                 }             }             ksort($pages); //Сортируем массив в обратном порядке по ключам             $i = 0;             foreach($pages as $k=>$v) //Перебираем получившийся массив, и выводим ссылки             {                 $i++;                 if(basename($_SERVER['PHP_SELF']) != $file)                      echo '<a href="',$v,'?cat='.$cat.'">',$i,'</a>&nbsp;';                 else echo $i.'&nbsp;';             }         }         else{                 echo 'Произошла ошибка. Указанная дирректория не существует.';         }     }     else {         echo 'Произошла ошибка. Запрошенная категория не существует.';     } } ?> Представленная система далеко [...]

Динамические часы на сайте
2009-09-07 16:11 Неумелый программист
В комментариях к одной из статей меня спросили как сделать динамические часы, с меняющимся временем, и чтобы данные были по гринвичу. На PHP легко получить данные гринвича (если конечно на сервере часы настроены правильно), но невозможно сделать чтобы часы обновлялись динамически без запроса к серверу (ведь PHP серверный язык). Но на javascript решение возможно, и [...]

Защищаемся с помощью htaccess или конфигурация Apache
2009-09-10 10:30 Неумелый программист
Очень часто все попытки написать грамотный, хорошо защищенный скрипт сводятся на нет лишь тем что сервер, на котором крутится ресурс неправильно настроен. Или точнее некоторые просто игнорируют настройку сервера как вариант защиты, а это, на мой взгляд абсолютно не приемлимо. «Как же защитить свой ресурс?»-спросите вы,-»Ведь на сервере обыкновенного хостера, нет доступа к доустановке какого [...]

Тайные данные или массив $_SERVER
2009-09-14 20:34 Неумелый программист
Огромное количество нужных и важных данных содержит именно этот массив, данных как о клиенте так и о самом сервере на котором выполняется ваш PHP скрипт. Распишу подробно данные которые можно получить из этого массива: $_SERVER['PHP_SELF'] Данный элемент массива содержит путь к файлу относительно корня сайта, т.е. если адрес до выполняемого скрипта: http://phpbegun.ru/files/script.php данный элемент массива будет содержать [...]

Работа с массивами
2009-09-17 16:17 Неумелый программист
Собственно что такое массив? Для новичка проще всего представить массив таблицей, в одном столбце которой ключи, а в другом значение. Зная ключ мы можем получить значение. Ну или наоборот, если очень надо) Но давайте не будем спешить. Итак таблица: Ключ Значение yellow банан green яблоко red Томат Так, я думаю, понятнее. Этот массив ассоциативный, т.е. ключами являются не цифры, а слова, в данном случае [...]

Выбор редактора для php
2009-09-21 13:54 Неумелый программист
В свое время, когда я еще только учился программированию, я редактировал скрипты в допотопном стандартном notepad’е винды. В связи с тем что там не было подсветки синтаксиса, и других функций, которые сильно облегчают жизнь программисту на сегодняшний день, в моем коде была куча синтаксических ошибок, исправление которых сжирало чертову кучу времени. А согласитесь время-не тот [...]

Cookie что это такое и с чем их лучше есть)
2009-09-23 11:43 Неумелый программист
Ну есть их лучше конечно с чаем) Cookie с английского переводится как печенье. Фактически это те данные которые мы можем сохранить на машине пользователя в браузере именно для нашего сайта. Проще всего посмотреть список кукисов для определенного сайта в опере. В моей 10 надо нажать инструменты->настройки->выбрать вкладку Дополнительно->cookie->управление Cookie. Ну вот теперь вы повелитель печенекь [...]

Количество скачиваний файла на PHP
2009-09-25 13:51 Неумелый программист
На одном из форумов мне задали вопрос: «Как реализовать подсчет количества скачиваний файла?». Покумекав немного я решил написать пример подобной реализации с использованием не баз данных, но файлов. И так приступим. Прежде всего надо разбить задачу на более простые подзадачи. 1) Как подсчитывать; 2) Как хранить подсчитанные данные; 3) Как их выдергивать и преподносить пользователю. Это-наш план реализации. Давайте [...]


В избранное