Работа с cookie
Cookie — небольшой фрагмент данных, отправленный веб-сервером и хранимый на компьютере пользователя. Браузер всякий раз при попытке открыть страницу соответствующего сайта пересылает этот фрагмент данных веб-серверу в составе HTTP-запроса. Применяется для сохранения данных на стороне пользователя, на практике обычно используется для: аутентификации пользователя; хранения персональных предпочтений и настроек пользователя; отслеживания состояния сеанса доступа пользователя; ведения статистики о пользователях. Получать и записывать cookie можно как с помощью JavaScript, так и при помощи PHP. Рассмотрим эти варианты: JavaScript и Cookie <script> //Функция получения куков function getCookie(c_name) { var i,x,y,ARRcookies=document.cookie.split(«;»); for (i=0;i<ARRcookies.length;i++) { x=ARRcookies[i].substr(0,ARRcookies[i].indexOf(«=»)); y=ARRcookies[i].substr(ARRcookies[i].indexOf(«=»)+1); x=x.replace(/^s+|s+$/g,»»); if (x==c_name) { return unescape(y); } } } //Функция записи куков (имя, значение, время_жизни_в_днях) function setCookie(c_name,value,exdays) { var exdate=new Date(); exdate.setDate(exdate.getDate() + exdays); //Если в конце убрать + «; path=/», то кук будет доступен только для текущей страницы //Если не убирать, то кук будет доступен для любой страницы в пределах домена var c_value=escape(value) + ((exdays==null) ? «»…
Обработка шорткодов WordPress
Иногда требуется в PHP-коде в WordPress отоброзить содержание некоторого шорткода. Для этого существует встроенная функция
do_shortcode()
Она просматривает текст на наличие в нём зарегистрированных шорткодов и обрабатывает их.
WordPress вставить php код на страницу без плагинов
Есть несколько способов добавить PHP-код на страницу WordPress. Среди них: установить плагин позволяющий это делать, редактировать functions.php и включить поддержку [exec]…[/exec], может быть ещё что-то. Но сегодня я расскажу как сделал я. Недостатки установки плагина: возможная уязвимость, возможные проблемы с совместимости при обновлении WordPress. Недостатки включения тэгов [exec]…[/exec] для размещения php-кода: пользователи, являющиеся авторами, могут легко использовать эту конструкцию и делать с сайтом что угодно. Поэтому, если Вам необходимо добавить PHP-код всего на пару страниц своего сайта, рекомендую сделать это следующим образом: 1. Создаём страницу стандартным способом 2. Создаём отдельный шаблон страницы Узнаём какая постоянная ссылка у только что созданной страницы. В моём случае — https://blog.knasys.ru/test-php/. Теперь нам нужно создать шаблон, к примеру в Notepad++. Создаём новый документ, устанавливаем кодировку «UTF-8 (без BOM)«, содержимое копируем из файла «Шаблон страницы (page.php)» находим в тексте функцию the_content: <?php the_content(‘<p class=»serif»>Читать полностью »</p>’); ?> она получает содержимое страницы отсюда: Теперь можем вставить свой…
PHP Отправка письма с чужого E-mail
Вообще говоря, отправить E-mail с помощью PHP-скрипта — тривиальная задача. Делается это так: <?php //Отправляем Email и проверяем на удачу if (mail(«send_to@mail.ru», «Тема_письма», «Сообщение_в_письме»)){ echo «сообщение принято к доставке»; }else{ echo «что-то пошло не так»; } ?> В результате выполнения скрипта на адрес send_to@mail.ru придет письмо с непонятного адреса Вашего почтового сервера. Чтобы изменить адрес отправителя всего-то нужно указать дополнительный параметр From вот так: <?php //Отправляем Email и проверяем на удачу if (mail(«send_to@mail.ru», «Тема_письма», «Сообщение_в_письме», «From: sender@mail.ru»)){ echo «сообщение принято к доставке»; }else{ echo «что-то пошло не так»; } ?> Теперь гораздо лучше, письмо пришло якобы с адреса sender@mail.ru (почему-то в голову закрадываются мысли как можно надуривать юзеров отправляя левые сообщения с известных адресов). Однако, когда приходит письмо от известного E-mail, то в графе отправителя, вместо E-mail адреса, пишется имя отправителя. Можно так сделать и в нашем примере: <?php //Отправляем…
Обрезать строку JavaScript — trim
К сожалению, в JavaScript отсутствует функция Trim(), однако можно выкрутиться используя следующий код: Для маленьких строк: function trim(str) { return str.replace(/^s+|s+$/g, »); } Для длинных строк: function trim (str) { str = str.replace(/^s+/, »); for (var i = str.length; —i >= 0;) { if (/S/.test(str.charAt(i))) { str = str.substring(0, i + 1); break; } } return str; } Отличие только в производительности кода.
Деактивация html тэгов в PHP
Чтобы обезопасить вводимые пользователем сайта данные, нужно деактивировать html тэги. Для этого в обрабатывающем PHP скрипте можно создать функцию замены знаков «<» и «>» на «<» и «>» соответственно: <?php echo «Деактивировано=» . deactivate(«переход<br>на новую<br>строку); function deactivate($str) { $str = str_replace(«<«,»<»,$str); $str = str_replace(«>»,»>»,$str); return $str; } ?>
Использование MySQL в WordPress
WordPress позволяет работать с базой данных собственными средствами, без необходимости создавать собственное отдельное соединение с базой данных. Не буду расжовывать, приведу лишь работающий пример получения данных выборки из базы: <?php header(‘Content-type: text/html; charset=utf-8’); //Кодировка для корректного отображения русских букв require_once($_SERVER[‘DOCUMENT_ROOT’] . $folder . ‘/wp-config.php’); //Получаем логин и пароль для подключения к базе данных из файла wp-config.php //Используем встроенную функцию для работы с базой данных WordPress if (!$wpdb) { $wpdb = new wpdb( DB_USER, DB_PASSWORD, DB_NAME, DB_HOST); } else { global $wpdb; } $posts = $wpdb->get_results(«SELECT * FROM vrachi», ARRAY_N); //В переменную $posts извлекаем все данные таблицы «vrachi» //Выводим результат echo print_r($posts); echo «<br><br><br>»; ?> Пример получения конкретной ячейки из базы: <?php header(‘Content-type: text/html; charset=utf-8’); //Кодировка для корректного отображения русских букв //Создаём SQL-запрос $sql_zapros = «SELECT doctor_id FROM `vrachi` where link=’vrachi_algasova-i-v'»; //Узнаём в БД require_once($_SERVER[‘DOCUMENT_ROOT’] . $folder . ‘/wp-config.php’); //Получаем логин и пароль для…
Использование MySQL в PHP скрипте
Для того чтобы получить общее представление о MySQL и работе с ним в PHP рекомендую посмотреть несколько видеоуроков: http://www.youtube.com/watch?v=sCB7e8bZsHs Создав простую базу данных с помощью этих видеоуроков, можем обратиться к ней следующим PHP-скриптом: <?php $connect = mysql_connect(«localhost», «UserName»,»YourPassword»); //Устанавливаем соединение с БД $select = mysql_select_db(«YourDatabaseName», $connect); //Выбираем базу данных «YourDatabaseName» $result = mysql_query(«SELECT * FROM yourtable», $connect); //Отправляем SQL-запрос возвращения всех полей таблицы «yourtable» while($data = mysql_fetch_row($result)) //Перебираем все возвращенные строки { echo $data[0]; //Выводим результат echo $data[1]; echo $data[2]; } mysql_free_result($result); //Освобождаем переменную с результатами запроса mysql_close($connect); //Отключаемся от базы данных ?> Смотри также: Использование MySQL в WordPress
Передать PHP скрипту параметры и обработать их
Допустим, мы хотим передать некоторому draw.php скрипту следующие параметры: color1 = white; color2 = red. Для этого делаем запрос: http://site.ru/draw.php?color1=white&color2=red Тогда, чтобы обработать данные параметры, тело скрипта должно выглядеть так: <?php $color1=$_GET[‘color1’]; $color2=$_GET[‘color2’]; echo «Цвет1 = $color1<br>»; echo «Цвет2 = $color2″; ?> Не забываем при этом указать кодировку PHP-скрипта «UTF-8 (без BOM)», иначе могут быть кракозябры
Проверить что в строке только числа JavaScript
var numdom = document.getElementById(‘inpid’).value; if(numdom.match(/^d+$/)) { //Число целое }