//для перезагрузки страницы, дабы решить проблему F5 (когда в массиве POST остались данные, и браузер предлагает заново их отправить) } //восстановление пароля if ($_POST['fpass']) { forgot($_POST['email']); /*echo $_SESSION['auth']['error']; unset($_SESSION['auth']['error']); exit; */ //unset($_SESSION['auth']); redirect(); //print_arr($_SESSION['auth']); //exit("ОТВЕТ!"); } //авторизация if ($_POST['auth']) { authorization(); if ($_SESSION['auth']['user']) { //если пользователь авторизовался echo "<p>Добро пожаловать, <span>{$_SESSION['auth']['user']}</span></p>"; exit; //чтоб скрипт прекратил выполнение, и не доходил до строки подключения шаблона вида } else { //авторизация неудачна echo $_SESSION['auth']['error']; //выводим ответ от сервера, чтобы его подхватил аякс unset($_SESSION['auth']); exit; } } //валидация и проверка на уникальность логина и email if ($_POST['val']) {
*/ // Подлючаем файл с пользовательскими функциями require_once 'functions.php'; // Заранее инициализируем переменную авторизации, присвоив ей ложное значение $auth = false; // Если была нажата кнопка авторизации if (isset($_POST['submit'])) { // Делаем массив сообщений об ошибках пустым $errors['login'] = $errors['password'] = $errors['password_again'] = ''; // С помощью стандартной функции trim() удалим лишние пробелы // из введенных пользователем данных $login = trim($_POST['login']); $password = trim($_POST['password']); // Авторизуем пользователя // Вызываем функцию регистрации, её результат записываем в переменную $auth = authorization($login, $password); // Если авторизация прошла успешно, сообщаем об этом пользователю // И создаем заголовок страницы, который выполнит переадресацию на защищенную // от общего доступа страницу if ($auth === true) { $message = '<p>Вы успешно авторизовались в системе. Сейчас вы будете переадресованы на главную страницу сайта. Если это не произошло, перейдите на неё по <a href="/">прямой ссылке</a>.</p>'; header('Refresh: 5; URL = /'); } else { $errors['full_error'] = $auth; } } ?> <html> <head> <title>Авторизация пользователей</title> <meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
// array (two parameters) - check `perm` of other `module` accesibility global $auth; global $mod; $r = false; if (!is_array($a)) { // -- check current_module,super_user accessibility -- // if ($a === NULL) { if (isset($auth['perm_su'])) { $r = true; } } elseif (isset($auth['perm'][$mod][$a])) { $r = true; } //elseif ($a === NULL) e('null'); } else { if (!isset($a[1])) { // -- check module accessibility -- // if (isset($auth['perm'][$a[0]])) { $r = true; } } else { // -- check module,permission accessibility -- // if (isset($auth['perm'][$a[0]][$a[1]])) { $r = true; } } } return $r; } $auth = authorization(); unset($modules);
function registration($login, $password) { $pass_hash = md5(md5(trim($password))); mysql_query("INSERT INTO users (username, password) VALUES ('" . $login . "', '" . $pass_hash . "' )"); authorization($login, $password); }
<?php session_start(); //Подключение функций и БД include "../core/functions.php"; db_connect(); //Определение $mode if (isset($_POST['isreg'])) { $mode = "registration"; } else { $mode = "authorization"; } if (isset($_POST['login']) and isset($_POST['pass'])) { if ($mode == "registration") { registration($_POST['login'], $_POST['pass']); } if ($mode == "authorization") { authorization($_POST['login'], $_POST['pass']); } } //Если пользователь авторизован - перенаправление в личный кабинет if ($_SESSION['auth']) { session_write_close(); header("Location: ../room"); exit; }
<?php include 'lang.inc.php'; include 'conf.inc.php'; include 'mysql.inc.php'; include_once 'functions.inc.php'; authorization($conf['login'], $conf['password']); connect_db($mysql['hostname'], $mysql['user'], $mysql['pass'], $mysql['db']); isset($_GET['page']) ? $page = $_GET['page'] : ($page = 'manage'); $cyear = escape_cyear(); if (isset($_POST['Submit']) && isset($_POST['stan'])) { update_db($_POST, $cyear); } ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Booking Calendar Lite 1.2 - Administration Area</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <link rel="stylesheet" href="admin.css" type="text/css" charset="utf-8" /> <script language="javascript" src="ks.js"></script> </head> <body> <div id="navcontainer"> <ul id="navlist"> <li><a href="?page=manage"<?php is_active('manage', $page); ?> >Manage calendar</a></li>