Web Мастерская»Блог

Сообщество Web Мастеров. Тут собрано всё, чтобы написать свой первый сайт, запустить его в Интернет и поддерживать его в течении всей его работы.

Как определить от куда пришёл пользователь на PHP

PHP
Сейчас мы с вами будем разбираться, как определить от куда пришел пользователь. Собственно тут и разбираться не в чем, для этого будем использовать элемент суперглобального массива $_SERVER - HTTP_REFERER.

Значение элемента $_SERVER['HTTP_REFERER'] - это адрес предыдущей страницы, от куда пришел пользователь по ссылке. Нам достаточно вывести значение переменной на экран:
echo $_SERVER['HTTP_REFERER'];

И мы увидим адрес страницы с которой перешел пользователь. Но есть один "промах", если пользователь не перейдет на страницу по ссылке, а введет в адресную строку адрес, где мы выводи значение переменной на экран, которого на самом деле нет, так как не было "предыдущей" страницы, то получим ошибку такого вида:
Notice: Undefined index: HTTP_REFERER in /.../.../.../

Решение может быть простым, просто перед выводом на экран значения, проверять переменную на пустоту, например, так:
echo isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : 'Адрес не определен.';

Ну или так:
if (isset($
...

Как получить локацию пользователя по IP адресу

Стояла задача получить локацию пользователя по его IP адресу. Для решения задачи, надо определить IP адрес посетителя, для этого я использую переменную из суперглобального массива $_SERVER['REMOTE_ADDR']. Дальше, используя полученный IP составить URL файла, который необходимо прочесть, читать файл будет функция file_get_contents. Читаемый файл находится на сайте http://ipinfo.io/ именно туда будем посылать запрос. Код читаемого файла написан в JSON, поэтому придется декодировать полученную строку в массив, для этого использую функцию json_decode. С решением разобрались, переходим к самому коду, код прокомментировал, для лучшего понимания, что происходит:
$ip   = $_SERVER['REMOTE_ADDR'];             # Получаем IP адрес пользователя
$url  = 'http://ipinfo.io/' . $ip . '/json'; # Составляем адрес для чтения 
$info = file_get_contents($url);             # Читаем файл
$info = json_decode($info, true);            # Декодируем JSON строку в массив

Теперь массив $info содержит в себе...

Проверка корректности адреса электронной почты на PHP

При регистрации нового пользователя или при подписки на рассылку, пользователь вводит адрес своей электронной почты, который необходимо проверить на корректность, дабы избежать возможных ошибок при вводе адреса. Делать это лучше при помощи регулярного выражения. Давно, в интернете я нашел одно регулярное выражение (где именно, я не помню), которое мне понравилось и я им пользуюсь до сих пор, сама регулярка выглядит так:
^[a-zA-Z0-9_\.\-]+@([a-zA-Z0-9\-]+\.)+[a-zA-Z]{2,6}$

Тут проверяется весь адрес:
  • Первая часть (логин), до собаки, он может состоять из букв латинского алфавита, цифр, дефиса и нижнего подчеркивания.
  • Собака (@), собака должна присутствовать сразу после логина.
  • Адрес почтового сервиса, что следует после символа собаки. Он может состоять из букв латинского алфавита, цифр и дефиса. Обязательно должна быть точка, после точки следуют буквы латинского алфавита, в количестве от двух до шести.

Использовать это регулярное выражение надо функцией preg_match, данная функция...

Как найти наименьшее и наибольшее число в PHP (min | max)

PHP
Может потребоваться найти наименьшее или наибольшее число при написании, какого ни будь сценария, сейчас расскажу, как это можно сделать.
Допустим у нас есть массив чисел, вот такой:
$array = array(700, 255, 333, 667, 888, 1200, 512);

Массив состоит из семи чисел в хаотичном порядке, но порядок и количество чисел не имеет значения. Из этого массива нам надо получить наименьшее число, для этого в PHP существует функция min, ее предназначение находить самое маленькое число из представленных. делаем так:
$min = min($array); 

Теперь переменная $min содержит в себе самое маленькое число из массива, то есть 255.

Теперь давайте попробуем найти самое большое число из массива. Для этого будем использовать функцию max - эта функция противоположная функции min, в отличии от min, функция max находит наибольшее число. Делаем так:
$max = max($array);

И переменная $max содержит в себе самое большое число массива, это число - 1200.

В эти две функции (min | max) можно вставлять цифры, просто перечисляя...

Функции соединения с сервером MySQLi

mysqli_connect() - является основной функцией соединения с сервером Базы Данных MySQLi, функция выполняет авторизацию пользователя БД. Пример соединения с БД:
$db = mysqli_connect('хост', 'имя пользователя', 'пароль', 'Имя БД'); 

Тут естественно меняем 'хост', 'имя пользователя', 'пароль', 'Имя БД' на свои данные от базы.

Теперь соединение с БД полностью установлено и можно записать в БД любую информацию, например так:
$query = "INSERT INTO `user` (`login`, `email`, `password`) 
VALUES('$login', '$email', '$password')"; 

И достать инфу таким образом:
$res = mysqli_query("SELECT * FROM `user` WHERE `login` = '$user' ");
...