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

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

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

Author24 — интернет-сервис помощи студентам
Доборого времени суток.Захотелось зделать стандартную вещь,чтобы пользователь введя логинчик и парольчик(которые хранятся в бедешечке) заходил на сайт.Вроде бы усё зделал ,но почему то не работает?Помагите плиз
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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.04.2012, 21:37
Ответы с готовыми решениями:

Как правильно создать авторизацию по email или телефону?
есть авторизация по емейлу хочу переделать по емейлу или номеру телефона $result =...

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

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

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

15
6 / 6 / 0
Регистрация: 29.10.2011
Сообщений: 10
06.04.2012, 23:09 2
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  [ТС] 3
Не работает((
Помагите реализовать авторизацию попроще
0
6 / 6 / 0
Регистрация: 29.10.2011
Сообщений: 10
07.04.2012, 17:00 4
Цитата Сообщение от mexx-nikitin Посмотреть сообщение
Не работает((
а что конкретно не работает то?
0
79 / 79 / 8
Регистрация: 28.03.2010
Сообщений: 306
07.04.2012, 17:28  [ТС] 5
Что-то ругается 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 6
Цитата Сообщение от 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  [ТС] 7
Мож я чёт не так делаю,но почему то не работает,пишет неверный пароль,хотя я ввожу всё правильно,вот сам код
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 8
У тебя пароль в бд в шифрованном или не шифрованном виде храниться?
0
79 / 79 / 8
Регистрация: 28.03.2010
Сообщений: 306
07.04.2012, 21:01  [ТС] 9
вроде не в шифрованном
0
6 / 6 / 0
Регистрация: 29.10.2011
Сообщений: 10
07.04.2012, 21:10 10
Цитата Сообщение от mexx-nikitin Посмотреть сообщение
mysql_real_escape_string(md5(md5($_REQUEST["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  [ТС] 11
Если добавляю, то пишет
You Stuped
неверный логин или пароль
0
6 / 6 / 0
Регистрация: 29.10.2011
Сообщений: 10
07.04.2012, 21:28 12
Если код, который Вы привели, записан у Вас в файле, то будьте любезны сменить название бд на ту которая у вас действительно существует, в примере были взяты данные для соединения из воздуха...
в частности не mysql_select_db("db"), а mysql_select_db("Clients")
0
79 / 79 / 8
Регистрация: 28.03.2010
Сообщений: 306
07.04.2012, 21:36  [ТС] 13
а эта часть точно правильно работает
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 14
Только что проверил код, который дал у себя на тачке все работает, как часы ...
Повторю еще раз, проверь шифруется в md5 пасс или нет
1
79 / 79 / 8
Регистрация: 28.03.2010
Сообщений: 306
07.04.2012, 22:07  [ТС] 15
Цитата Сообщение от Клык Посмотреть сообщение
Только что проверил код, который дал у себя на тачке все работает, как часы ...
Повторю еще раз, проверь шифруется в md5 пасс или нет
А как мне это проверить?(я начинающий пользователь не всё знаю)
1
6 / 6 / 0
Регистрация: 29.10.2011
Сообщений: 10
07.04.2012, 22:08 16
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
07.04.2012, 22:08
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.04.2012, 22:08
Помогаю со студенческими работами здесь

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru