Простой пример работы с базой данный в php. Часть 2. Форма создания пользователя.

В предыдущей статье мы создали форму авторизации и страницу с ограниченным доступом, на который мы выводили информацию о пользователе. Прошлый пример показывал, как можно получать информацию из база данных. В этой же статья я хочу показать, как можно создавать нового пользователя и как редактировать данные уже существующего пользователя.
Читать далее «Простой пример работы с базой данный в php. Часть 2. Форма создания пользователя.»

Простой пример работы с базой данный в php. Часть 1. Авторизация пользователя.

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

Экранирование спецсимволов и js/html кода в чате

В этой маленькой статье я хочу рассказать ка защитить чат(который мы создали в предыдущей статье) от вредоносного кода.
Во-первых нужно экранировать все спецсимволы, которые поломают нажи sql-запросы, это можно сделать с помощью функции pg_escape_string(), вот так:
Читать далее «Экранирование спецсимволов и js/html кода в чате»

Он-лайн чат

Сегодня статья о создании чата.
Я до сегодняшнего дня ни разу не пробовал делать подобные вещи и поэтому это чистая импровизация, поэтому могут быть баги(если будут попадаться в процессе использования этого чата, я буду добавлять их описание в эту статью).
Смысл работы чата, прост: пишем текст, отправляем его ajax запросом на обработку на сервер и записываем в базу данных. А также каждые 1-3 секунды отсылаем запрос на сервер и проверяем были ли добавлены новые сообщения, если были то выводим их в чате.
Читать далее «Он-лайн чат»

Переключаемые комментарии в коде

Сегодня натолкнулся на интересный метов комментирования кода. Этот способ значительно ускоряет разработку. Описывать смысла нет, лучше я покажу на примере.
Допустим есть конфиг для базы данных. Почти всегода в конфиге указано несколько баз данных — «боевая», которая находится на сервере и локальная. И в конфиге приходится постоянно менять доступы к базе данных. Что бы ускорить этот процесс, можно сделать так:
Читать далее «Переключаемые комментарии в коде»

Сессии в IFrame-приложениях в Internet Explorer

Сегодня столкнулся с проблемой: в одном из моих IFrame-приложении в ВК в Internet Explorer не работает авторизация. Данные о юзере записываются в сессию, а Internet Explorer категорически отказывается работать с сессией в фрейме. Поискав в интернете, я нашел информацию о том, что IE просто отказывается читать сессионные куки из фреймов. Читать далее «Сессии в IFrame-приложениях в Internet Explorer»

Авторизация/регистрация пользователя в IFrame-приложениях ВКонтакте

Сегодня я начал разработку нового приложения для ВК. И начал с реализации авторизации пользователя. Хотя это мое уже не первое приложение я постоянно делаю авторизацию заново. И я решил сделать функцию авторизации, которую можно будет использовать в последующих приложениях.
Эта функция очень простая, но лвсе же проще использовать готовое чем постоянно писать одно и тоже.
Функция при запуске приложения получет id пользователя от ВК из get запроса и записывает в сессию(потом из сессии всегда можно быстро получить id), потом проверяет наличие юзера в базе данных, если пользователь новый, то делаем в бд запись о нем.
Читать далее «Авторизация/регистрация пользователя в IFrame-приложениях ВКонтакте»

phpMyAdmin. Отсутствие активности более 1440 секунд

Скорее всего, все кто занимается web-разработкой, сталкивались с phpMyAdmin. И у всех кто с ним работал, было такое, что phpMyAdmin открыт в одной вкладке, а Вы занимаетесь своим делом и спустя какое-то время возвращаетесь к phpMyAdmin, а там вас ждет такая надпись: «Отсутствие активности более 1440 секунд, пожалуйста, авторизуйтесь заново». Это жутко раздражает, но как это побороть до поры до времени я не знал. Но сегодня наткнулся в интернете на решение, оно очень простое. Нужно добавить в конфиг(config.inc.php) phpMyAdmin всего одну строку:

$cfg['LoginCookieValidity'] = 86400; // на сутки

Эта строка дает возможность не разлогиниваться в phpMyAdmin в течении простоя длиною в сутки.

Укорачивание урла с помощью API TinyUrl.com

Сегодня натолкнулся на «классную» функцию, которая умеет работать с API сайта tinyurl.com
Функция простая и короткая, но все же может пригодиться. Вот исходник:

function getTinyUrl($url) {   
    return file_get_contents("http://tinyurl.com/api-create.php?url=".urlencode(trim($url)));   
}

Сравнение двух дат вида «Y-m-d H:i»

Функция для сравнения двух дат вида «Y-m-d H:i».
После вызова функция вернет 1 или 2 в зависимости от, того какая дата больше.
Все просто, сначала приводим дату и время к Unix виду, а потом сравниваем.

//сравнение двух дат типа: "Y-m-d H:i"
function compareDateTime($date1, $date2){
	//$date1 = "2013-02-21 12:59";
	//$date2 = "2013-02-21 16:59";
	$arr1 = explode(" ", $date1);
	$arr2 = explode(" ", $date2);  
	$arrdate1 = explode("-", $arr1[0]);
	$arrdate2 = explode("-", $arr2[0]);
	$arrtime1 = explode(":", $arr1[1]);
	$arrtime2 = explode(":", $arr2[1]);
	$timestamp2 = (mktime($arrtime2[0], $arrtime2[1], 0, $arrdate2[1],  $arrdate2[2],  $arrdate2[0]));
	$timestamp1 = (mktime($arrtime1[0], $arrtime1[1], 0, $arrdate1[1],  $arrdate1[2],  $arrdate1[0]));
	if($timestamp1>$timestamp2){
		return 1;
	}else{
		return 2;
	}
}