Php user class database

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.

PHP Object Oriented Programming

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» );
>

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

POST » action=»» name Apple-style-span» style=»color: blue;»>logi n»>
Email or Username
text » name Apple-style-span» style=»color: blue;»>emailusername «/>
Password
password » name Apple-style-span» style=»color: blue;»>password «/>
submit » value Apple-style-span» style=»color: blue;»>Login «/>


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.

Источник

Читайте также:  Создать быстро шаблон html
Оцените статью