Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
79 / 79 / 8
Регистрация: 28.03.2010
Сообщений: 306

Помогите сделать авторизацию правильно

06.04.2012, 21:37. Показов 1976. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доборого времени суток.Захотелось зделать стандартную вещь,чтобы пользователь введя логинчик и парольчик(которые хранятся в бедешечке) заходил на сайт.Вроде бы усё зделал ,но почему то не работает?Помагите плиз
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<html>
<body>
    <form action="home.php" method="POST">
        <div align="center" style="padding: 250px 0 0 0">
        <table border="0" cellspacing="0" width="200">
        <caption><b>Вход в систему</b></caption>
        <tr><td align="right"><b>Логин:</b></td>
        <td><input type="text" name="login"></td></tr>
        <tr><td align="right"><b>Пароль:</b></td>
        <td><input type="password" name="passw"></td></tr>
        <tr>
        <td align="center" colspan="2">
        <input type="submit" value="Войти">
    </td></tr></table>
    <?php echo $err; ?>
</div>
</form>
</body>
</html>
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?
//соединяемся с базой данных
$con    = mysql_connect("localhost", "root","");
if (!$con) die('can\'t connect to server');
if (!mysql_select_db("Clients", $con)) die('can\'t connect to database');
 
// если мы передали данные  то присваиваем значение новой переменной
if (isset($_POST['login']))
 $login = addslashes($_POST['login']);  
if (isset($_POST['passw']))
 $passw = addslashes($_POST['passw']);
 
if (empty($login) or empty($passw)) 
{
    exit ("Вы ввели не всю информацию, когда заполните форму полностью нажмите отправить");
}
 
else 
{
    $query="select *from `Authentication` where `login` = '$login' and `password` = '$passw'";
    mysql_query ($query);
 
 if (mysql_query ($query)) // на всякий случай проверим успешность записи в базу
    echo "Hello $login";
 else 
    echo "неверное имя или парроль".mysql_error();
}
?>
Миниатюры
Помогите сделать авторизацию правильно  
1
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.04.2012, 21:37
Ответы с готовыми решениями:

Как правильно создать авторизацию по email или телефону?
есть авторизация по емейлу хочу переделать по емейлу или номеру телефона $result = $mysqli-&gt;query(&quot;SELECT * FROM `users`...

Не получаеться сделать авторизацию
Здравствуйте, уважаемые пользователи. На протяжении суток мучаюсь с авторизацией пользователей и прошу вашей помощи. Много чего...

Как сделать авторизацию
Всем привет) вот решил реализовать простую авторизацию для своего сайта, и мне стало интересно... а что лучше использовать: 1) ...

15
 Аватар для Клык
6 / 6 / 0
Регистрация: 29.10.2011
Сообщений: 10
06.04.2012, 23:09
HTML5
1
2
3
4
5
6
7
8
9
10
<div id='form'>
<form  name="" action="" method="post">
Логин:<br />
<input type="text" name="login" id="login" value="" /><br />
Пароль:<br />
<input type="password" name="password" id="password" value=""  /><br />
<input type="submit" value="Вход">
<br />
</form>
</div>
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?php
if (!isset($_REQUEST["login"]) or $_REQUEST["login"] == '')
{
    echo "<div id='result'>Введите логин или пароль</div>";
}
else
{
    //коннектимся к бд
    $db_connect = mysql_connect("", "", "") or die ("Could not connect to MySQL");
    if(!mysql_select_db("db"))
    {
        echo "You Stuped";
    }
    $query = sprintf("SELECT `user_login`,`user_pass` FROM wp_users WHERE `user_login` = '%s' AND `user_pass`='%s'",
                    mysql_real_escape_string($_REQUEST["login"]),
                    mysql_real_escape_string(md5(md5($_REQUEST["password"]))));
    $result = mysql_query($query);
    //считываем результаты запроса и заносим в массив
    $row = mysql_fetch_array($result);
    if($row["user_login"]==$_REQUEST["login"])
    {
        if ($row["user_pass"]!=md5(md5($_REQUEST["password"])))
        {
            echo "<div id='result'>Невернй логин или пароль</div>";
        }
    else
    {
           echo'<script>document.location.href="http://url";</script>';
    }
       }
 else
 {
  echo "<div id='result'>Невернй логин или пароль</div>";
  }
}
 
?>
написано конечно на "коленке", возможно ошибки
1
79 / 79 / 8
Регистрация: 28.03.2010
Сообщений: 306
07.04.2012, 16:07  [ТС]
Не работает((
Помагите реализовать авторизацию попроще
0
 Аватар для Клык
6 / 6 / 0
Регистрация: 29.10.2011
Сообщений: 10
07.04.2012, 17:00
Цитата Сообщение от mexx-nikitin Посмотреть сообщение
Не работает((
а что конкретно не работает то?
0
79 / 79 / 8
Регистрация: 28.03.2010
Сообщений: 306
07.04.2012, 17:28  [ТС]
Что-то ругается Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in Z:\home\localhost\www\12.php on line 30

Я начинающий в этом деле,но зачем ты используеш масивчег,когда я для пароля и логина используется бд?Да и как будет выглядеть запрос не посредственно к данной бд?(той что на скрине)
0
 Аватар для Клык
6 / 6 / 0
Регистрация: 29.10.2011
Сообщений: 10
07.04.2012, 17:44
Цитата Сообщение от mexx-nikitin Посмотреть сообщение
1)зачем ты используеш масивчег,когда я для пароля и логина используется бд?
PHP
1
2
3
4
5
6
....
 $result = mysql_query($query);
    //считываем результаты запроса и заносим в массив
    $row = mysql_fetch_array($result);
    if($row["user_login"]==$_REQUEST["login"])
....
Преобразуем данные полученные из БД в массив, далее сравниваем их с теми что были введены в форму.
Цитата Сообщение от mexx-nikitin Посмотреть сообщение
2)Да и как будет выглядеть запрос не посредственно к данной бд?(той что на скрине)
PHP
1
2
3
4
5
6
7
....
$db_connect = mysql_connect("localhost", "root", "Password_DB") or die ("Could not connect to MySQL");
mysql_select_db("Clients");
$query = sprintf("SELECT `login`,`password` FROM Authentication WHERE `login` = '%s' AND `password`='%s'", mysql_real_escape_string($_REQUEST["login"]),mysql_real_escape_string(md5(md5($_REQUEST["password"]))));
$result = mysql_query($query);
$row = mysql_fetch_array($result);
....
Что-то типо того

p.s. учти, что в моем примере пасс в md5 завернут
2
79 / 79 / 8
Регистрация: 28.03.2010
Сообщений: 306
07.04.2012, 19:35  [ТС]
Мож я чёт не так делаю,но почему то не работает,пишет неверный пароль,хотя я ввожу всё правильно,вот сам код
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<div id='form'>
<form  name="" action="" method="post">
Логин:<br />
<input type="text" name="login" id="login" value="" /><br />
Пароль:<br />
<input type="password" name="password" id="password" value=""  /><br />
<input type="submit" value="Вход">
<br />
</form>
</div>
 
<?php
if (!isset($_REQUEST["login"]) or $_REQUEST["login"] == '')
{
    echo "<div id='result'>Введите логин или пароль</div>";
}
else
{
    //коннектимся к бд
    $db_connect = mysql_connect("localhost", "root", "") or die ("Could not connect to MySQL");
    mysql_select_db("Clients");
    if(!mysql_select_db("db"))
    {
        echo "You Stuped";
    }
 
    $query = sprintf("SELECT `login`,`password` FROM Authentication WHERE `login` = '%s' AND `password`='%s'", mysql_real_escape_string($_REQUEST["login"]),mysql_real_escape_string(md5(md5($_REQUEST["password"]))));
    $result = mysql_query($query);
    $row = mysql_fetch_array($result);
    if($row["user_login"]==$_REQUEST["login"])
    {
        if ($row["user_pass"]!=md5(md5($_REQUEST["password"])))
        {
            echo "<div id='result'>Невернй логин или пароль</div>";
        }
    else
    {
           echo'<script>document.location.href="http://url";</script>';
    }
       }
 else
 {
  echo "<div id='result'>неверный логин или пароль</div>";
  }
}
 
?>
0
 Аватар для Клык
6 / 6 / 0
Регистрация: 29.10.2011
Сообщений: 10
07.04.2012, 20:59
У тебя пароль в бд в шифрованном или не шифрованном виде храниться?
0
79 / 79 / 8
Регистрация: 28.03.2010
Сообщений: 306
07.04.2012, 21:01  [ТС]
вроде не в шифрованном
0
 Аватар для Клык
6 / 6 / 0
Регистрация: 29.10.2011
Сообщений: 10
07.04.2012, 21:10
Цитата Сообщение от mexx-nikitin Посмотреть сообщение
mysql_real_escape_string(md5(md5($_REQUE ST["password"])))
if ($row["user_pass"]!=md5(md5($_REQUEST["password"])))
а запрос и проверка идет так как будто он у тебя в шифрованом виде храниться, если он не в шифрованом то тогда
PHP
1
2
mysql_real_escape_string($_REQUEST["password"])
if ($row["user_pass"]!=$_REQUEST["password"])
1
79 / 79 / 8
Регистрация: 28.03.2010
Сообщений: 306
07.04.2012, 21:22  [ТС]
Если добавляю, то пишет
You Stuped
неверный логин или пароль
0
 Аватар для Клык
6 / 6 / 0
Регистрация: 29.10.2011
Сообщений: 10
07.04.2012, 21:28
Если код, который Вы привели, записан у Вас в файле, то будьте любезны сменить название бд на ту которая у вас действительно существует, в примере были взяты данные для соединения из воздуха...
в частности не mysql_select_db("db"), а mysql_select_db("Clients")
0
79 / 79 / 8
Регистрация: 28.03.2010
Сообщений: 306
07.04.2012, 21:36  [ТС]
а эта часть точно правильно работает
SQL
1
$query = sprintf("SELECT `login`,`password` FROM Authentication WHERE `login` = '%s' AND `password`='%s'", mysql_real_escape_string($_REQUEST["login"]),mysql_real_escape_string(md5(md5($_REQUEST["password"]))));
1
 Аватар для Клык
6 / 6 / 0
Регистрация: 29.10.2011
Сообщений: 10
07.04.2012, 21:39
Только что проверил код, который дал у себя на тачке все работает, как часы ...
Повторю еще раз, проверь шифруется в md5 пасс или нет
1
79 / 79 / 8
Регистрация: 28.03.2010
Сообщений: 306
07.04.2012, 22:07  [ТС]
Цитата Сообщение от Клык Посмотреть сообщение
Только что проверил код, который дал у себя на тачке все работает, как часы ...
Повторю еще раз, проверь шифруется в md5 пасс или нет
А как мне это проверить?(я начинающий пользователь не всё знаю)
1
 Аватар для Клык
6 / 6 / 0
Регистрация: 29.10.2011
Сообщений: 10
07.04.2012, 22:08
HTML5
1
2
3
4
5
6
7
8
9
10
<html>
<body>
<div id='form'>
<form  name="" action="" method="post">
Логин:<br />
<input type="text" name="login" id="login" value="" /><br />
Пароль:<br />
<input type="password" name="password" id="password" value=""  /><br />
<input type="submit" value="Вход">
</form>
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<?php
if (!isset($_REQUEST["login"]) or $_REQUEST["login"] == '')
{
    echo "<div id='result'>Введите логин или пароль</div>";
}
else
{
    //коннектимся к бд
    $db_connect = mysql_connect("суда пишется хост сервера БД", "суда пишется логин от сервера БД", "Суда пишется пароль от сервера БД ") or die ("Could not connect to MySQL");
    if(!mysql_select_db("Суда пишется название БД с которой соединяемся"))
    {
        echo "You Stuped";
    }
    $query = sprintf("SELECT `суда пишется название поля которое отвечает за логины`,`суда пишется название поля которое отвечает за пароли` FROM название_таблицы WHERE `суда пишется название поля которое отвечает за логины` = '%s' AND `суда пишется название поля которое отвечает за пароли`='%s'",
                    mysql_real_escape_string($_REQUEST["login"]),
                    mysql_real_escape_string(md5(md5($_REQUEST["password"]))));
                                                        //если у нас пароли хоронятся в открытом виде то
                                                        //mysql_real_escape_string($_REQUEST["password"]);
    $result = mysql_query($query);
    //считываем результаты запроса и заносим в массив
    $row = mysql_fetch_array($result);
    if($row["суда пишется название поля которое отвечает за логины"]==$_REQUEST["login"])
    {
        if ($row["суда пишется название поля которое отвечает за пароль"]!=md5(md5($_REQUEST["password"])))
//если у нас пароли хоронятся в открытом виде то
//if ($row["суда пишется название поля которое отвечает за пароль"]!=$_REQUEST["password"])
        {
            echo "<div id='result'>Невернй логин или пароль</div>";
        }
        else
        {
    switch($row["суда пишется название поля которое отвечает за логины"])
    {
     case 'test':
    {
    echo'<script>document.location.href="http://адрес переадресации";</script>';
                break;
                }
            }
        }
    }
    else
    {
        echo "<div id='result'>Невернй логин или пароль</div>";
    }
}
 
?>
HTML5
1
2
3
</div>
</body>
</html>
Разжевал
Как там было сказано "Invite - просто добавь воды"
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.04.2012, 22:08
Помогаю со студенческими работами здесь

Пишет не правильно введен пароль после нажатия на авторизацию,да и к тому же session_start(): не работает поэтому видимо
Помогите пожалуйста,нужно как можно быстрее

Как сделать авторизацию по md5?
Подскажите, пожалуйста, как сделать сравнение хэшированного пароля, сохраненного в бд с тем паролем, который ввел пользователь?

Как сделать авторизацию пользователей ?
Здравствуйте ! Мне очень понравилась защита ВКонтакте. Создал сложную функцию, которая кодирует имя пользователя и пароль в кукис. Теперь...

Сделать авторизацию по логину и паролю
Добрый день пытался так сделать авторизацию по логину и паролю, не выходит, что не правильно? &lt;html&gt; &lt;head&gt; ...

Пробую сделать на тестовом сайте авторизацию по БД
Добрый день,форумчане! Нашел код в интернете авторизации по БД, исправил его под свой код,но при отправки формы на обработчик просто...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru