Архив / разработка

RSS лента

exit(); vs die();

Почему-то всегда думал, что между die(); и exit(); есть какая-то небольшая разница. Но никогда не думал проверить это. Как оказалось разницы между этими конструкциями нет вообще.

Скорее всего die(); существует для того, чтобы программисты, работающие с Perl могли более легко перейти на PHP.

MySQL. Неизвестная пунктуация.

На днях столкнулся с непонятной ошибкой MySQL. Сервер сообщал, что в запросе на вставку записи (с другими не пробовал) допущена ошибка «Неизвестная пунктуация«.

Ошибка появлялась в тот момент когда вставлялось 2 и более записи и в какой-либо из строк содержится точка с запятой (;). Дамп заливался через консоль, phpmyadmin и Sypex Dumper Lite 1.0.8.

Причина в func_overload библиотеки mbstring. Для корректной работы оно должно быть отключено.

WebAsyst

Сегодня пришлось поработать с WebAsyst. Ну и херня же эта система.
А пришлось мне переносить его с одного сервера на другой.

Сначала оказалось, что все таблицы, кроме таблиц с префиксом «CS_» в нижнем регистре, а в скриптах используется в верхнем регистре.

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

Потом оказалось, что логин и пароль от панели администрирования клиент не знает.
Читать полностью →

Midnight Commander для Masterhost

По роду деятельности иногда приходится общаться с хостингом от Мастерхоста.
При работе с shell нередко возникает необходимость в каком-нибудь файловом менеджере. Да вот только в мастерхосте совсем не думают о клиентах и любимый Midnight Commander приходится устанавливать вручную.

Для установки Midnight Commander на сервере Мастерхост необходимо выполнить несложные команды.
Читать полностью →

Разделение текста на предложения

Сегодня понадобилось из одного куска текста сделать что-то вроде анонса. Понятно, что анонс — это некая часть текста. У меня это было 300 символов. Но просто обрезать и поставить многоточие не хорошо. Кто знает, что находится в позиции трехсот символов от начала строки. Поэтому необходимо было обрезать текст в конце предложения после 300 символов.

Для этого хорошо подошла регулярка /[.?!]\s+(?=[А-Я])/m.

В данном выражении используется так называемое lookahead-условие или lookbehind-условие (?=[А-Я]).

Ошибки при создании сайтов

Сегодня разбирался на хостинге и нашел файл, в котором я начинал писать статью про ошибки при создании сайтов. В данной статье рассматривался один интернет магазин.

Статья не полная, но наталкивает на рассуждения. В данной статье нет ответов на какие-либо вопросы. В ней я сам задаю вопросы горе разработчиком. Возможно именно с этой статьи я начну повествование об очень интересном факторе при создании сайтов, как юзабилити, т.е. удобство использования.
Читать полностью →

jquery browser и Internet Explorer

Заметил небольшую странность в известном JavaScript фреймворке jquery. На некоторых машинах метод $.browser.version неправильно определяет версию браузера для Internet Explorer. В моем случае все версии определялись как 5.5.

Баг в сайте разработчика cms

Работаю с одной cms’кой по работе. Решил заглянуть на сайт разработчика. Вход для клиентов осуществляется посредством ввода номера лицензии. Никаких паролей не существует. Кстати, проверок на наличие такого номера лицензии тоже не существует. Ввел первое что придумалось, и вот она удача. Получил список клиентских счетов на оплату. Мне с эта информация, конечно, ничего важного не дала. Да и не за этим я лез на данный сайт.

В почти каждом счете нашел номер лицензии, по которому можно войти в кабинет.

После непродолжительных опытов выяснилось, что после отправки номера договора mysql запросом с помощью выражения LIKE %% выбираются все счета оплату, в которых содержится введенный номер.

Скриншот кабинета пользователя.
Скриншот кабинета пользователя.

Сортировка данных в MySQL

Для сортировки данных используется выражение ORDER BY `field_name` [ASC | DESC] [, `field_name2` [ASC | DESC]]

Существует 2 направления сортировки данных в SQL-запросе. ASC – по возрастанию и DESC – по убыванию. По-умолчанию данные сортируются по возрастанию.
Читать полностью →