Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Форма регистраций на php, Форма регистраций на php 
:(
    Опции темы
Darcman
  Дата 21.3.2016, 17:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 13.6.2007

Репутация: нет
Всего: нет



Добрый день!

Подскажите в чем ошибка. Делаю форму регистраций с проверкой логина и email

Сам код:
Код

<?php
/**
  * registration.php
  * Страница регистрации пользователей.
  */

header('Content-Type: text/html; charset=utf-8');
require_once('config.php');
    
session_start();
if(isset($_SESSION['uname'])!="")
{
    header("Location: index.php");
}
  
// Инициализируем переменные для введенных значений и возможных ошибок
$errors = array();

// Заранее инициализируем переменную регистрации, присваивая ей ложное значение
$reg = false;

// Если была нажата кнопка регистрации
if(isset($_POST['btn-register'])) {
    // Делаем массив сообщений об ошибках пустым
    $errors['uname'] = $errors['email'] = $errors['upass'] = $errors['upass_again'] = '';
    
    // С помощью стандартной функции trim() удалим лишние пробелы
    // из введенных пользователем данных
    $uname = trim($_POST['uname']);
    $email = trim($_POST['email']); 
    $upass = trim($_POST['upass']);
    $upass_again = trim($_POST['upass_again']);
    $upass = md5($_POST['upass']);
    $upass_again = md5($_POST['upass_again']);
    
    // Если логин не пройдет проверку, будет сообщение об ошибке
    $errors['uname'] = $uname == true ? '' : $uname;
    
    // Если пароль не пройдет проверку, будет сообщение об ошибке
    $errors['upass'] = $upass == true ? '' : $upass;
    
    // Если пароль введен верно, но пароли не идентичны, будет сообщение об ошибке
    $upass != $upass_again ? '' : 'Введенные пароли не совпадают';
    
    // Если ошибок нет, нам нужно добавить информацию о пользователе в БД
    if($errors['uname'] == '' && $errors['email'] == '' && $errors['upass'] == '' && $errors['upass_again'] == '') {
        
        // Проверка на совпадение логина регистрации в базе данных
        $sql_username_check = mysql_query($conn,"SELECT user_login FROM users WHERE user_login='$uname' ");        
        
        if (!$sql_username_check) { 
            // Вызываем функцию регистрации, её результат записываем в переменную
            $sql2 = mysql_query($conn,"INSERT INTO users(user_login,user_email,user_password) VALUES('$uname','$email','$upass')");
            
            if(!$sql2) { $errors['full_error'] = $reg; }
            else { 
                    // Если регистрация прошла успешно, сообщаем об этом пользователю
                    // И создаем заголовок страницы, который выполнит переадресацию к форме авторизации
                    if($reg === true) {
                    print ('<p>Вы успешно зарегистрировались в системе. Сейчас вы будете переадресованы к странице авторизации. Если это не произошло, перейдите на неё по <a href="login.php">прямой ссылке</a>.</p>');
                    header('Refresh: 5; URL = login.php'); }
                 }
        } else { 
            echo ("Этот логин занят, попробуйте другой!<br />"); }    
    }

 
?>

<html>
    <head>
        <title>Регистрация пользователей</title>
        <link href="style.css" rel="stylesheet" type="text/css" />
    </head>
    <body>
        <form action="" method="post">
            <div class="row">
                <label for="login">Укажите ваш логин:</label>
                <input type="text" class="text" name="uname" id="uname" value="<?=$fields['uname'];?>" placeholder="Укажите ваш логин" required />
                <div class="error" id="login-error"><?=$errors['uname'];?></div>                
            </div>            
            <div class="row">
                <label for="Email">Укажите ваш Email:</label>
                <input type="email" class="text" name="email" id="email" value="<?=$fields['email'];?>" placeholder="Укажите ваш Email" required / />
                <div class="error" id="login-error"><?=$errors['email'];?></div>
            </div>            
            <div class="row">
                <label for="password">Напишите ваш пароль:</label>
                <input type="password" class="text" name="upass" id="upass" value="<?=$fields['upass'];?>" placeholder="Напишите ваш пароль" required />
                <div class="error" id="password-error"><?=$errors['upass'];?></div>
            </div>

            <div class="row">
                <label for="password_again">Повторите введенный пароль:</label>
                <input type="password" class="text" name="upass_again" id="upass_again" value="<?=$fields['upass_again'];?>" placeholder="Повторите введенный пароль" required />
                <div class="error" id="password_again-error"><?=$errors['upass_again'];?></div>
            </div>
            
            <!-- Кнопка отправки данных формы -->
            <input type="submit" name="btn-register" id="btn-register" value="Зарегистрироваться" />
            <!-- Кнопка сброса полей формы к исходному состоянию -->
            <input type="reset" name="btn-reset" id="btn-reset" value="Очистить" />
        </form>
    </body>
</html>
 

config.php
Код

<?php
header('Content-Type: text/html; charset=utf-8');
/*
* конфигурационный файл
*/

# Соединямся с БД
$servername = "localhost";
$username = "root";//your database username
$password = "root";//your database password
$dbname = "_mydb";//your database name
 
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);

// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

?>


Можно объяснить по подробнее в чем проблема.

Это сообщение отредактировал(а) Darcman - 21.3.2016, 17:24
PM MAIL   Вверх
Shark
Дата 22.3.2016, 06:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 703
Регистрация: 18.6.2006
Где: Москва

Репутация: 4
Всего: 4



А в чем собственно проблема? какая ошибка выводится? что не так?

Это сообщение отредактировал(а) Shark - 22.3.2016, 06:26


--------------------
Смерть - это только начало... 
Агентство недвижимости Premial
PM MAIL WWW ICQ   Вверх
whatisnot
Дата 23.3.2016, 16:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 130
Регистрация: 14.12.2014

Репутация: 1
Всего: 2



Код

<?php

header("Location: index.php");
// Инициализируем переменные для введенных значений и возможных ошибок
$errors = array();
 

Это для чего инициализация если произойдет переход?

Это сообщение отредактировал(а) whatisnot - 23.3.2016, 16:47
PM MAIL   Вверх
Shark
Дата 24.3.2016, 06:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 703
Регистрация: 18.6.2006
Где: Москва

Репутация: 4
Всего: 4



whatisnot, ну если посмотреть весь кусок этого кода, а не то, как ты его подредактировал и задал вопрос то:
Код

session_start();
if(isset($_SESSION['uname'])!="")
{
    header("Location: index.php");
}
  
// Инициализируем переменные для введенных значений и возможных ошибок
$errors = array();

Если сессия не пуста, то идем в индек.пхп, а если пуста, то идем дальше smile

Код

$errors = array();
    // Делаем массив сообщений об ошибках пустым
    $errors['uname'] = $errors['email'] = $errors['upass'] = $errors['upass_again'] = '';


а когда мы создаем $errors = array(); , он разве не пустой? Пустой.
Код

$errors['uname'] = $errors['email'] = $errors['upass'] = $errors['upass_again'] = '';

меня больше интересует этот бред.

А где функция mysql_select_db()???

Код

$errors['full_error']

Откуда эта переменная появилась?

Это сообщение отредактировал(а) Shark - 24.3.2016, 06:48


--------------------
Смерть - это только начало... 
Агентство недвижимости Premial
PM MAIL WWW ICQ   Вверх
whatisnot
Дата 24.3.2016, 14:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 130
Регистрация: 14.12.2014

Репутация: 1
Всего: 2



Цитата(Shark @  24.3.2016,  06:24 Найти цитируемый пост)
ну если посмотреть весь кусок этого кода, а не то, как ты его подредактировал и задал вопрос то:


Речь о регистрации? О ней. 

Цитата(Shark @  24.3.2016,  06:24 Найти цитируемый пост)
Если сессия не пуста, то идем в индек.пхп, а если пуста, то идем дальше



А если юзер еще не зарегистрирован, то откуда взяться $_SESSION['uname']? Логика где здесь и причем тут индексный файл?
 


PM MAIL   Вверх
Shark
Дата 24.3.2016, 15:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 703
Регистрация: 18.6.2006
Где: Москва

Репутация: 4
Всего: 4



Цитата

Код

<?php
header("Location: index.php");
// Инициализируем переменные для введенных значений и возможных ошибок
$errors = array();


Это для чего инициализация если произойдет переход?


начнем с этого.  И я тебе ответил на вопрос в своем посте.
Далее, это сессия, что переводить человека на файл index.php, когда сессия создана, чтоб ее создать надо зарегить. Ок. Юзер зарегился, авторизовался и потом опять жмет на ссылку или кнопку "Зарегистрироваться", и вот мы пришли с нова к сессии, если пользователь авторизован, он не попадет в регистрацию, пока жива сессия

я ответил на твои вопросы?


--------------------
Смерть - это только начало... 
Агентство недвижимости Premial
PM MAIL WWW ICQ   Вверх
_zorn_
Дата 25.3.2016, 16:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1077
Регистрация: 21.8.2007

Репутация: 6
Всего: 12



Цитата(Darcman @  22.3.2016,  00:23 Найти цитируемый пост)
Добрый день!
Здравствуйте.
Цитата(Darcman @  22.3.2016,  00:23 Найти цитируемый пост)
Подскажите в чем ошибка.
Сейчас попробуем разобраться
Цитата(Darcman @  22.3.2016,  00:23 Найти цитируемый пост)
Делаю форму регистраций с проверкой логина и email
Рад за вас.
Цитата(Darcman @  22.3.2016,  00:23 Найти цитируемый пост)
Можно объяснить по подробнее в чем проблема.
КАКАЯ ПРОБЛЕМА ТО ????!!!!!

Ты думал твой гавнакод будет кто то читать без объяснений ? Добро пожаловать в реальный мир..

Это сообщение отредактировал(а) _zorn_ - 25.3.2016, 16:10
PM MAIL   Вверх
Shark
Дата 25.3.2016, 19:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 703
Регистрация: 18.6.2006
Где: Москва

Репутация: 4
Всего: 4



_zorn_, я более мягко выразился smile)) в своем первом посте smile)), вот только топик стартер че-то молчит, создается ощущение, что он ждет когда за него решат эту проблему smile


--------------------
Смерть - это только начало... 
Агентство недвижимости Premial
PM MAIL WWW ICQ   Вверх
whatisnot
Дата 26.3.2016, 18:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 130
Регистрация: 14.12.2014

Репутация: 1
Всего: 2



Цитата(Shark @  24.3.2016,  15:04 Найти цитируемый пост)
Юзер зарегился, авторизовался и потом опять жмет на ссылку или кнопку "Зарегистрироваться", и вот мы пришли с нова к сессии, если пользователь авторизован, он не попадет в регистрацию, пока жива сессия



Что есть механизм регистрация я все-таки имею представление. Вот только перенаправление на регистрацию, ну это уж никак не перебросить пользователя на индексный файл. Если бы адресом был файл регистрации или уж по крайней мере перенаправление на индексный файл содержало и параметр, который бы указывал на необходимость ее и т.д., тогда и вопросов бы не было. Может быть вдумаетесь в логику того что написано, а не рассказывать мне чего там происходит?  

Это сообщение отредактировал(а) whatisnot - 26.3.2016, 18:26
PM MAIL   Вверх
ksnk
Дата 26.3.2016, 21:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 96
Всего: 386



whatisnot, Интересно, это чей топик? Darcman'а, или нет? Или перелогинится не удалось? 
А то непонятно, вопрос от одного человека, отвечает за него другой...
Shark, логика таки есть. Если в сессии есть значение 'uname', то регистрация больше не нужна, уходим в индекс. Если нет - регистрируемся. Грязновато, конечно, сравнивать логическое значение с пустой строкой, чтобы получилось логическое, но на php и не такое пишут...


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Darcman
  Дата 4.4.2016, 21:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 13.6.2007

Репутация: нет
Всего: нет



Добрый вечер!

С регистрацией и авторизацией разобрался теперь вопрос как сделать проверку по сессий если пользователь зарегистрировался и авторизовался под администратором то он может зайти в папку admin/index.php если пользователь авторизовался не под администратором то он не может зайти в папку admin/index.php, а переходить в корневую папку в файл index.php.

Имеется такая схема в корневой папке
admin
          css/style.css 
          images/
          includes/
          index.php
images/
style.css
config.php
index.php
login.php
registration.php

config.php
Код

<?php
/*
* конфигурационный файл
*/

# Конфигурация MySQL
$servername = "localhost";
$username = "root";//your database username
$password = "root";//your database password
$dbname = "mydb";//your database name
 
// Соединямся с БД
$conn = new mysqli($servername, $username, $password, $dbname);

// Проверка соединение с БД
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
?>



login.php
Код

<?php
/**
  * login.php
  * Страница авторизаций пользователей.
  */

require_once('config.php');
session_start();

if(isset($_POST['btn-login'])) {
    
    $uname = $_POST['uname'];
    
    # Вытаскиваем из БД запись, у которой логин равняеться введенному
    $data = mysqli_fetch_array(mysqli_query($conn,"SELECT user_login, user_password FROM users WHERE user_login='$uname' "));
    
    # Сравниваем введенный логин и пароль
    if($data['user_password'] === md5($_POST['upass']) and $data['user_login'] == $_POST['uname'] )
    {
        header('Refresh:0; URL = index.php'); 
    }
    else
    {
        print ("<p>Вы ввели неправильный логин или пароль</p>");
    }
}

?>

<html>
<head>
    <title>Авторизация пользователей</title>
    <meta charset="utf-8">
    <link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<form action="" method="post">
    <div class="row">
        <label for="login">Ваш логин:</label>
        <input type="text" class="text" name="uname" id="uname" />
    </div>
    <div class="row">
        <label for="password">Ваш пароль:</label>
        <input type="password" class="text" name="upass" id="upass" />
    </div>
    <div class="row">
        <input type="submit" name="btn-login" id="btn-login" value="Авторизоваться" />
    </div>
</form>
<p class="to_reg">Если вы не зарегистрированы в системе, <a href="registration.php">зарегистрируйтесь</a>.</p>
</body>
</html>


registration.php
Код

<?php
/**
  * registration.php
  * Страница регистрации пользователей.
  */

require_once('config.php');
    
session_start();
  
// Инициализируем переменные для введенных значений и возможных ошибок
#$errors = array();

// Если была нажата кнопка регистрации
if(isset($_POST['btn-register'])) {    
    
    // С помощью стандартной функции trim() удалим лишние пробелы
    // из введенных пользователем данных
    $uname = trim($_POST['uname']);
    $email = trim($_POST['email']); 
    $upass = trim($_POST['upass']);
    $upass_again = trim($_POST['upass_again']);        
        
    // Если ошибок нет, нам нужно добавить информацию о пользователе в БД
    if($uname==true && $email==true && $upass==true && $upass_again==true){ // если все ячейки заполнены регистрируем
        if($upass===$upass_again) {                 
            
            $sql_username_check = mysqli_fetch_array(mysqli_query($conn,"SELECT user_login FROM users WHERE user_login='$uname' "));
                if (!empty($sql_username_check)) {
                    echo ("Пользователь с таким логином уже существует в базе данных!<br />");                    
                } else {
                    $upass = md5($upass);        
                    mysqli_query($conn,"INSERT INTO users(user_login,user_email,user_password) VALUES('$uname','$email','$upass')");
                    print ('<p>Вы успешно зарегистрировались в системе. перейдите по <a href="login.php">прямой ссылке</a>.</p>');
                    header("Location: login.php"); exit();
                } 
        }  else {
            echo ("Пароли не совпадают<br />"); }
    }    
}
?>

<html>
    <head>
        <title>Регистрация пользователей</title>
        <meta charset="utf-8">
        <link href="style.css" rel="stylesheet" type="text/css" />
    </head>
    <body>
        <form action="" method="post">
            <div class="row">
                <label for="login">Укажите ваш логин:</label>
                <input type="text" class="text" name="uname" id="uname" value="<?=$fields['uname'];?>" placeholder="Укажите ваш логин" required />
                <div class="error" id="login-error"><?=$errors['uname'];?></div>                
            </div>            
            <div class="row">
                <label for="Email">Укажите ваш Email:</label>
                <input type="email" class="text" name="email" id="email" value="<?=$fields['email'];?>" placeholder="Укажите ваш Email" required / />
                <div class="error" id="login-error"><?=$errors['email'];?></div>                
            </div>            
            <div class="row">
                <label for="password">Напишите ваш пароль:</label>
                <input type="password" class="text" name="upass" id="upass" value="<?=$fields['upass'];?>" placeholder="Напишите ваш пароль" required />
                <div class="error" id="password-error"><?=$errors['upass'];?></div>
            </div>

            <div class="row">
                <label for="password_again">Повторите введенный пароль:</label>
                <input type="password" class="text" name="upass_again" id="upass_again" value="<?=$fields['upass_again'];?>" placeholder="Повторите введенный пароль" required />
                <div class="error" id="password_again-error"><?=$errors['upass_again'];?></div>
            </div>
            
            <!-- Кнопка отправки данных формы -->
            <input type="submit" name="btn-register" id="btn-register" value="Зарегистрироваться" />
            <!-- Кнопка сброса полей формы к исходному состоянию -->
            <input type="reset" name="btn-reset" id="btn-reset" value="Очистить" />
        </form>
    </body>
</html>


style.css
Код

/* файл style.css */
.row {
    margin-bottom:10px;
    width:220px;
}
    .row label {
        display:block;
        font-weight:bold;
    }
    .row input.text {
        font-size:1.2em;
        padding:2px 5px;
    }
.to_reg {
    font-size:0.9em;
}
.instruction {
    font-size:0.8em;
    color:#aaaaaa;
    margin-left:2px;
    cursor:default;
}
.error {
    color:red;
    margin-left:3px;
}


таблица users
Код

CREATE TABLE IF NOT EXISTS `users` (
  `ID` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `user_login` varchar(25) CHARACTER SET utf8 NOT NULL,
  `user_password` varchar(50) CHARACTER SET utf8 NOT NULL,
  `user_email` varchar(35) CHARACTER SET utf8 NOT NULL,
  PRIMARY KEY (`ID`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=5 ;


Хотелось так же узнать как можно авторизоваться по логину или Email?

Заранее спасибо.

Меня не было в городе по этой причине не мог ответит на форуме. Про первый пост. Коды формы регистраций и авторизаций я соберал из кусков пример найденых в интернете. С php знаком недавно (один месяц). Понятие ООП имеется. Читаю и хочю понять что такое MVC (модель вид контроллер). Можно помочь с книжками которые желательно прочитать про MVC, PHP7?

PM MAIL   Вверх
Shark
Дата 4.4.2016, 21:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 703
Регистрация: 18.6.2006
Где: Москва

Репутация: 4
Всего: 4



Darcman, добавь в таблицу, например, столбец admin... при регистрации в него должно записываться 0, если там будет 1 - значит зарегился, как админ, если 0 - то пользователь... дальше делаешь проверку и выдаешь инфу согласно данному "параметру"

Код

$data = mysqli_fetch_array(mysqli_query($conn,"SELECT user_login, user_password FROM users WHERE user_login='$uname' "));


если не ошибаюсь, то лучше будет записать через mysql_num_rows() вместо mysql_fetch_aray()

UPD: и не надо писать для каждого столбца CHARACTER SET utf8, т.к. ты в конце запроса указываешь для таблицы это

Это сообщение отредактировал(а) Shark - 4.4.2016, 21:36


--------------------
Смерть - это только начало... 
Агентство недвижимости Premial
PM MAIL WWW ICQ   Вверх
Darcman
  Дата 7.4.2016, 15:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 13.6.2007

Репутация: нет
Всего: нет



Shark, Спасибо. Как 
сделать авторизацию через сессию?
PM MAIL   Вверх
Shark
Дата 7.4.2016, 19:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 703
Регистрация: 18.6.2006
Где: Москва

Репутация: 4
Всего: 4



при авторизации создай ту или иную сесстию,... например для админа $_SESSION['user'] == 1, для пользователя $_SESSION['user'] == 0, а дальше просто сравнивай с параметром в БД в столбце admin или какой там у тебя столбец будет.. и все..

если пользователь тыкнет в админку... в файле пропиши:
Код

if($_SESSION['user'] == 1) { header("Location: admin/index.php"); }
else ( header("Location: index.php"); }


Это примеры (рабочие)


--------------------
Смерть - это только начало... 
Агентство недвижимости Premial
PM MAIL WWW ICQ   Вверх
Darcman
Дата 7.4.2016, 20:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 13.6.2007

Репутация: нет
Всего: нет



Shark
Что то не получается.

вот код admin/index.php
Код

<?php

/*
* Панель администрирования
*/

// Устанавливаем кодировку UTF-8
header('Content-Type: text/html; charset=utf-8');

/*session_start();
if (!isset($_SESSION['uname'])) {
    header('Refresh:0; URL = ../login.php'); 
} else {
    include 'admin.php';
} */

if($_SESSION['admin'] == 1) {
    header("Location: admin/index.php"); 
} else {header("Location: index.php"); }

?>
<h1 align="center">панель администратора</h1>


код login.php
Код

<?php
/**
  * login.php
  * Страница авторизаций пользователей.
  */

require_once('config.php');
session_start();

if(isset($_SESSION['uname'])) {
         header('Refresh:0; URL = index.php');     
}

if(isset($_POST['btn-login'])) {
    
    $uname = $_POST['uname'];
    
    # Вытаскиваем из БД запись, у которой логин равняеться введенному
    $data = mysqli_fetch_array(mysqli_query($conn,"SELECT user_login, user_password, admin FROM users WHERE user_login='$uname' "));
    
    # Сравниваем введенный логин и пароль
    if($data['user_password'] === md5($_POST['upass']) and $data['user_login'] == $_POST['uname'] ) {
        header('Refresh:0; URL = index.php'); 
    }    
    else {
        print ("<p>Вы ввели неправильный логин или пароль</p>");
    }    
    
    if($data['user_password'] === md5($_POST['upass']) and $data['user_login'] == $_POST['uname'] and $data['admin'] == 1) {
        header('Refresh:0; URL = admin/index.php'); 
    }    
    else {
        print ("<p>Вы ввели неправильный логин или пароль</p>");
    }            
    
}

?>

<html>
<head>
    <title>Авторизация пользователей</title>
    <meta charset="utf-8">
    <link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<form action="" method="post">
    <div class="row">
        <label for="login">Ваш логин:</label>
        <input type="text" class="text" name="uname" id="uname" />
    </div>
    <div class="row">
        <label for="password">Ваш пароль:</label>
        <input type="password" class="text" name="upass" id="upass" />
    </div>
    <div class="row">
        <input type="submit" name="btn-login" id="btn-login" value="Авторизоваться" />
    </div>
</form>
<p class="to_reg">Если вы не зарегистрированы в системе, <a href="registration.php">зарегистрируйтесь</a>.</p>
</body>
</html>


в таблице users добавил строку admin с типом boolean. В строку где логин администратора поставил 1, а в остальных выставил ноль.

Это сообщение отредактировал(а) Darcman - 7.4.2016, 20:15
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1066 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.