[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Нужен php кодер
hill_boy
Добрый день срочно нужно сделать регистрацию в формате php и что бы все данные записывались в .тхт файл на хостинг без шифрования. О цене договоримся. нужно срочно кто сможет такое сделать пишите.
vagrand

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</
head>
<
body>

<
h1>Создание нового пользователя</h1>
<
form action="?" method="post">
Логин: <input type="text" name="login" /><br>
Пароль: <input type="password" name="password" /><br>
Подтвердите пароль: <input type="password" name="confirm_password" /><br>
<
input type="submit" name="create" value="Создать">
</
form>

<
h1>Авторизация</h1>
<
form action="?" method="post">
Логин: <input type="text" name="login" /><br>
Пароль: <input type="password" name="password" /><br>
<
input type="submit" name="authorize" value="Войти">
</
form>

<?php

// Create user entity
$user = new User('./db.txt');

// Create new user
if (!empty($_POST['create'])) {
$user->create(
!
empty($_POST['login']) ? $_POST['login'] : '',
!
empty($_POST['password']) ? $_POST['password'] : '',
!
empty($_POST['confirm_password']) ? $_POST['confirm_password'] : ''
);
}

// Authorization
if (!empty($_POST['authorize'])) {
$user->authorization(
!
empty($_POST['login']) ? $_POST['login'] : '',
!
empty($_POST['password']) ? $_POST['password'] : ''
);
}
?>

</body>
</
html>

<?php
class
User {
/**
* Variable to store path to DB file
*
*
@var string
*/

private $_path = null;

/**
* Variable to store hash for password
*
*
@var string
*/

private $_hash = '1223-3459CMEefiwonin';

/**
* Class constructor
*
*
@param string $path
*/

public function __construct($path)
{
$this->_path = $path;
}

/**
* Method to authorize user
*
*
@param string $login
*
@param string $password
*
@return bool
*/

public function authorization($login, $password)
{
// Check login
if (empty($login)) {
echo '<p>Вы не ввели логин пользователя</p>';
return false;
}

// Validate login
$login = trim($login);
if (preg_match('/[^A-Za-z0-9\_\-]+/', $login)) {
echo '<p>В логине можно использовать только буквы латинского алфавита, арабские цифры и символы дефиса и подчеркивания</p>';
return false;
}

// Check password
if (empty($password)) {
echo '<p>Вы не ввели пароль пользователя</p>';
return false;
}

// Get user by login
$userInfo = $this->getByLogin($login);
if (empty($userInfo)) {
echo '<p>Пользователь не найден</p>';
return false;
}

// Check password
if (md5($this->_hash . trim($password) . $this->_hash) !== $userInfo['password']) {
echo '<p>Пользователь не найден</p>';
return false;
}

echo '<p>Пользователь упешно авторизован</p>';

return true;
}

/**
* Method to create new user
*
*
@param string $login
*
@param string $password
*
@param string $confirmPassword
*
@return bool
*/

public function create($login, $password, $confirmPassword)
{
// Check login
if (empty($login)) {
echo '<p>Вы не ввели логин нового пользователя</p>';
return false;
}

// Validate login
$login = trim($login);
if (preg_match('/[^A-Za-z0-9\_\-]+/', $login)) {
echo '<p>В логине можно использовать только буквы латинского алфавита, арабские цифры и символы дефиса и подчеркивания</p>';
return false;
}

// Check password
if (empty($password)) {
echo '<p>Вы не ввели пароль нового пользователя</p>';
return false;
}

// Check password
if (empty($confirmPassword)) {
echo '<p>Вы не ввели подтверждение пароля</p>';
return false;
}

// Validate password
if ($confirmPassword !== $password) {
echo '<p>Пароль и подтверждение пароля не совпадают</p>';
return false;
}

// Check is user already exists
$userInfo = $this->getByLogin($login);
if (!empty($userInfo)) {
echo '<p>Пользователь с логином "' . $login . '" уже существует</p>';
return false;
}

// Prepare user string
$string = $login . ' = "' . md5($this->_hash . trim($password) . $this->_hash) . '"';

// Add new user
if (!file_put_contents($this->_path, $string . "\n", FILE_APPEND | LOCK_EX)) {
echo '<p>Не удалось сохранить данные о новом пользователе</p>';
return false;
}

echo '<p>Новый пользователь успешно зарегистрирован</p>';
return true;
}

/**
* Method return user info by login
*
*
@param string $login
*
@return mixed
*/

public function getByLogin($login)
{
// Check is file exists
if (!file_exists($this->_path)) {
return false;
}

// Open file
$fileHandler = fopen($this->_path, 'r');

// Search user
while (($line = fgets($fileHandler)) !== false) {
// Parse line
$info = parse_ini_string(trim($line));

// Check is found login
if (!empty($info[$login])) {
return array(
'login' => $login,
'password' => $info[$login],
);

}
}


return false;
}
}



_____________
Senior PHP developer: PHP5, MySQL, JavaScript, CakePHP, Yii/Yii2, Zend Framework, Smarty, XML/Xslt, JQuery, Jquery Mobile, Bootstrap, ExtJS, HTML, HTML5, CSS, Linux, SVN, Git, Memcached, Redis, MongoDB, Zend Guard, Ioncube, FFMpeg, PayPal, Webmoney, Qiwi, Facebook API, Vkontakte Api, Google API, Twitter Api, Steam Api.
Junior Android Developer: Android SDK, многопоточность, работа с HTTP запросами, JSON, SQLite, фрагменты.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.