- Php user class database
- Фильтрация данных с помощью zend-filter
- Контекстное экранирование с помощью zend-escaper
- Подключение Zend модулей к Expressive
- Совет: отправка информации в Google Analytics через API
- Подборка PHP песочниц
- Совет: активация отображения всех ошибок в PHP
- Создаем класс для работы с базой данных в PHP
- Скелет класса PHP для работы с базой данных
- Пишем метод __construct();
- метод select();
- PHP Object Oriented Programming
- Hello $user ->get_fullname ($uid); ?>
Php user class database
В этом разделе помещены уроки по PHP скриптам, которые Вы сможете использовать на своих ресурсах.
Фильтрация данных с помощью zend-filter
Когда речь идёт о безопасности веб-сайта, то фраза «фильтруйте всё, экранируйте всё» всегда будет актуальна. Сегодня поговорим о фильтрации данных.
Контекстное экранирование с помощью zend-escaper
Обеспечение безопасности веб-сайта — это не только защита от SQL инъекций, но и протекция от межсайтового скриптинга (XSS), межсайтовой подделки запросов (CSRF) и от других видов атак. В частности, вам нужно очень осторожно подходить к формированию HTML, CSS и JavaScript кода.
Подключение Zend модулей к Expressive
Expressive 2 поддерживает возможность подключения других ZF компонент по специальной схеме. Не всем нравится данное решение. В этой статье мы расскажем как улучшили процесс подключение нескольких модулей.
Совет: отправка информации в Google Analytics через API
Предположим, что вам необходимо отправить какую-то информацию в Google Analytics из серверного скрипта. Как это сделать. Ответ в этой заметке.
Подборка PHP песочниц
Подборка из нескольких видов PHP песочниц. На некоторых вы в режиме online сможете потестить свой код, но есть так же решения, которые можно внедрить на свой сайт.
Совет: активация отображения всех ошибок в PHP
При поднятии PHP проекта на новом рабочем окружении могут возникнуть ошибки отображение которых изначально скрыто базовыми настройками. Это можно исправить, прописав несколько команд.
Создаем класс для работы с базой данных в PHP
Замечание: данный класс не является эталонным, на который стоит равняться. Цель данного урока показать, как можно все удобно сгруппировать для комфорта создания CMS в будущем.
Скелет класса PHP для работы с базой данных
Прежде чем начать писать класс для работы с базой данных в PHP, мы сначала набросаем его скелет, кстати имя нашего класса будет DBClass.
Во-первых, нам понадобиться два метода:
для того, чтобы соединится с базой;
Онлайн курс «PHP-разработчик»
Изучите курс и создайте полноценный проект — облачное хранилище файлов
С нуля освоите язык программирования PHP, структурируете имеющиеся знания, а эксперты помогут разобраться с трудными для понимания темами, попрактикуетесь на реальных задачах. Напишете первый проект для портфолио.
Во-вторых, в скелет класса войдет группа методов дляредактирование определенных таблиц базы данных. Например, вставка, удаление, выборка – insert, delete, select соответственно. Операции типа редактирование и т.п. будет вам как домашнее задание. Напишите сами, тем самым дополнив базу данных новыми полезными компонентами, то есть методами.
Схематический скелет класса DBClass:
function__construct(); (метод, который вызывается автоматически, при создании класса)
Пишем метод __construct();
В этот метод извне мы будет передавать 4 параметра: хост, имя пользователя, пароль, имя базы данных. Потом присвоим эти переменные аналогичным классовым переменным. И конечно, же вызовем метод открытия соединения сMySQL.
метод select();
Цель метода состоит в возвращении массива значений выбранных полей в запросе. С полученным массивом в будущем будет намного проще работать. Разберем словесно алгоритм работы метода.
Объявляем переменную $fetched как массив, в котором будет храниться значения выбранных полей в запросе.
Формируем запрос ($sql) в MySQL и отправляем его mysql_query($sql)
Начало цикла $i
Далее у нас идет цикл for, в котором мы перебираем выбранные из MySQL строки по очереди. Количество строк узнаем при помощи функции mysql_num_rows()
В цикле мы по очереди извлекаем результирующий ряд (строку) как ассоциативный массив, с которого сразу же возвращаем все ключи массива в переменную $key
Считаем количество элементов массива $key ($numKeys = count($key);)
Начало цикла $x
Далее идет цикл, в котором мы формируем конечный массив значений выбранных полей в запросе.
Конец цикла $x
Конец цикла $i
Далее else(елсами) возвращаем при неудаче false к соответствующим ифам (if).
PHP Object Oriented Programming
A better programmer follows object oriented programming principals. It is deal with objects and easy to update the code. In this post I want to explain how to develop user registration and login system implementing with object oriented programming in PHP.
The tutorial contains a folder called include with PHP files.
CREATE TABLE users
(
uid INT PRIMARY KEY AUTO_INCREMENT ,
username VARCHAR(30) UNIQUE ,
password VARCHAR(50),
name VARCHAR(100),
email VARCHAR(70) UNIQUE
);
include_once ‘ config.php ‘;
class User
//Database connect
public function __construct ()
$db = new DB_Class ();
>
//Registration process
public function register_user ($name, $username, $password, $email)
$password = md5 ($password);
$sql = mysql_quer y( «SELECT uid from users WHERE username = ‘$username’ or email = ‘$email'» );
$no_rows = mysql_num_rows ($sql);
if ($no_rows == 0)
$result = mysql_query ( «INSERT INTO users(username, password, name, email) values (‘$username’, ‘$password’,’$name’,’$email’)» ) or die(mysql_error());
return $result;
>
else
return FALSE;
>
>
// Login process
public function check_login ($emailusername, $password)
$password = md5 ($password);
$result = mysql_query ( «SELECT uid from users WHERE email = ‘$emailusername’ or username=’$emailusername’ and password = ‘$password'» );
$user_data = mysql_fetch_array ($result);
$no_rows = mysql_num_rows ($result);
if ($no_rows == 1)
$_SESSION [‘ login ‘] = true;
$_SESSION [‘ uid ‘] = $user_data[‘uid’];
return TRUE;
>
else
return FALSE;
>
>
// Getting name
public function get_fullname ($uid)
$result = mysql_query (» SELECT name FROM users WHERE uid = $uid «);
$user_data = mysql_fetch_array ($result);
echo $user_data[‘name’];
>
// Getting session
public function get_session ()
return $_SESSION [‘ login ‘];
>
// Logout
public function user_logout ()
$_SESSION [‘ login ‘] = FALSE ;
session_destroy ();
>
registration.php
Here $user = new User(); is the class User<> object using this calling method $user->register_user<> and inserting values.
include_once ‘ include/functions.php ‘;
$user = new User () ;
// Checking for user logged in or not
if ( $user -> get_session () )
header ( «location:home.php» );
>
session_start ();
include_once ‘ include/functions.php ‘;
$user = new User () ;
if ( $user -> get_session () )
header ( «location:home.php» );
>
?php>
if ($_SERVER[» REQUEST_METHOD «] = Apple-style-span» style=»color: #cc0000;»>POST «)
<
$login = $user -> check_login ($_POST[ ’emailusername’ ], $_POST[ ‘password’ ]) ;
if ($login)
// Login Success
header (» location:login.php «);
>
else
// Login Failed
$msg= ‘ Username / password wrong ‘;
>
>
?>
//HTML Code
session_start ();
include_once ‘ include/functions.php ‘;
$user = new User () ;
$uid = $ _SESSION [‘ uid ‘];
if ( ! $user -> get_session () )
header (» location:login.php «);
>
if ($_GET[‘ q ‘] == ‘ logout ‘)
$user -> user_logout () ;
header (» location:login.php «);
>
?>
//HTML Code
?q=logout «> LOGOUT
Hello $user -> get_fullname ($uid); ?>
config.php
Database configuration class DB_class() function __construct() is the method name for the constructor.
define(‘DB_SERVER’, ‘ localhost ‘);
define(‘DB_USERNAME’, ‘ username ‘);
define(‘DB_PASSWORD’, ‘ password ‘);
define(‘DB_DATABASE’, ‘ database ‘);
class DB_Class
function __construct ()
$connection = mysql_connect (DB_SERVER, DB_USERNAME, DB_PASSWORD) or
die (‘Oops connection error -> ‘ . mysql_error ());
mysql_select_db (DB_DATABASE, $connection)
or die (‘Database error -> ‘ . mysql_error ());
>
>
?>
For example if you want to get email value. Just include the following function inside class User<>
public function get_email ($uid)
$result = mysql_query (» SELECT email FROM users WHERE uid = $uid «);
$user_data = mysql_fetch_array ($result);
echo $user_data[‘ email ‘];
>
If you’re planning to start running a website and you’ll be using PHP. You can check the dirrerent web hosting plans online. Some even offer a free domain name.