Форум программистов, компьютерный форум, киберфорум
PHP
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 23.07.2017
Сообщений: 3

Авторизация php mysql

23.07.2017, 17:59. Показов 1005. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет! друзья. Не могу найти ошибку. Значит форма регистраций я написал, всё работает заноситься в базу данных всё. А вот дальше при попытке авторизовать пользователя выдаёт ошибку логин и пароль пользователя не найден из базы не определяет по чему то. помогите найти ошибку и исправить. Вот код регистраций но в нём всё правильно а вот авторизаций.
Регистрация:

PHP/HTML
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
<?php
include_once("bd.php");
 
if (isset($_POST['submit'])){
    if(empty($_POST['login']))  {
    echo '';
} 
elseif (!preg_match("/^\w{1,}$/", $_POST['login'])) {
echo '';
}
elseif(empty($_POST['email'])) {
echo '';
}
elseif (!preg_match("/^[a-zA-Z0-9_\.\-]+@([a-zA-Z0-9\-]+\.)+[a-zA-Z]{2,6}$/", $_POST['email'])) {
echo '';
}
elseif(empty($_POST['password'])) {
echo '';
}
elseif (!preg_match("/\A(\w){1,20}\Z/", $_POST['password'])) {
echo '';
}
elseif(empty($_POST['password2'])) {
echo '';
}
elseif($_POST['password'] != $_POST['password2']) {
echo '';
}
 
 
else{
$login = $_POST['login'];
$email = $_POST['email'];
$password = $_POST['password'];
$password2 = $_POST['password2'];
 
$query = ("SELECT id FROM users WHERE login='$login'");
$sql = mysql_query($query) or die(mysql_error());
 
if (mysql_num_rows($sql) > 0) {
echo '<font color="red"> Пользователь с таким логином зарегистрирован!</font>';
}
else {
$query2 = ("SELECT id FROM users WHERE email='$email'");
$sql = mysql_query($query2) or die(mysql_error());
if (mysql_num_rows($sql) > 0){
echo '<font color="red"><img border="0" src="error.gif"  alt="Пользователь с таким e-mail зарегистрированый!">Пользователь с таким e-mail уже зарегистрирован!</font>';
}
else{
$query = "INSERT INTO users (login, email, password)
VALUES ('$login', '$email', '$password' )";
$result = mysql_query($query) or die(mysql_error());;
echo "<meta http-equiv='Refresh' content='0; URL=http://asd/reg/index.php'>";
}
}
}
}
?>
<html> 
<section class="section-forms">
    <div class="forms">
        <form name="registration" action=""  method="POST">
            <h2>Регистрация</h2>
            <label for="login">Имя пользователя:</label>
            <input id="login" type="text"  name="login"  name="login" value=""  placeholder=""/>
            <label class="error"> </label>
            <label for="e-mail">Введите e-mail:</label>
            <input id="e-mail" type="email" name="email" value=""/  placeholder=""/>
            <label class="error"> </label>
            <label for="password">Введите пароль:</label>
            <input id="password" type="password"  name="password" value=""  placeholder=""/>
            <label class="error"> </label>
            <label for="password">Повторите ранее созданный пароль:</label>
            <input id="password" type="password"  name="password" value=""  placeholder=""/>
            <label class="error"> </label>
            <input type="hidden" name="action" value="reg">
            <button id="registration-btn" type="submit" >Регистрация</button><a href="/login/" class="right">Вход</a>
        </form>
    </div>
</section>
</html>



А вот и авторизация: здесь где то ошибка.
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<html>
<section class="section-forms">
    <div class="forms">
        <form name="registration" action="login.php" method="POST">
            <h2>Авторизация</h2>
            <label for="login">Введите логин</label>
            <input id="login" type="text" name="login" name="login"  value="" placeholder=""/>
            <label class="error"> </label>
            <label for="password">Введите пароль</label>
            <input id="password" type="password"  name="passwdord"  placeholder=""/>
            <label class="error"> </label>
            <input type="hidden" name="action" value="loginn">
            <button id="authorization" type="submit" name="submit">Войти</button>
            <a href="/" class="right">Регистрация</a>
            <a href="/forgot/" class="left">Забыли пароль?</a>
        </form>
</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
29
30
31
32
33
34
35
36
37
<?php
if (isset($_POST['submit'])){
if (isset($_POST['login'])){
    $login = $_POST['login']; 
    if ($login == '') {
        unset($login);
        exit ("Введите пожалуйста логин!");
    } 
}
if (isset($_POST['password'])){
    $password = $_POST['password']; 
    if ($password == '') {
        unset($password);
        exit ("Введите пароль");
    }
}
$login = stripslashes($login);
$login = htmlspecialchars($login);
$password = stripslashes($password);
$password = htmlspecialchars($password);
 
$login = trim($login);
$password = trim($password);
$password = md5($password);//шифруем пароль
$user = mysql_query("SELECT id FROM users WHERE login='$login' AND password='$password'");
$id_user = mysql_fetch_array($user);
if (empty($id_user['id'])){
    exit ("Извините, введённый вами логин или пароль неверный.");
}
else {
    $_SESSION['password'] = $password; 
    $_SESSION['login'] = $login; 
    $_SESSION['id'] = $id_user['id']; 
}
echo "<meta http-equiv='Refresh' content='0; URL=index.php'>";
)
?>
Добавлено через 8 минут
Всем привет! друзья. Не могу найти ошибку. Значит форма регистраций я написал, всё работает заноситься в базу данных всё. А вот дальше при попытке авторизовать пользователя выдаёт ошибку логин и пароль пользователя не найден из базы не определяет по чему то. помогите найти ошибку и исправить. Вот код регистраций но в нём всё правильно а вот авторизаций.
Регистрация:
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
49
50
51
52
53
54
55
56
57
58
<?php
include_once("bd.php");
 
if (isset($_POST['submit'])){
if(empty($_POST['login'])) {
echo '';
} 
elseif (!preg_match("/^\w{1,}$/", $_POST['login'])) {
echo '';
}
elseif(empty($_POST['email'])) {
echo '';
}
elseif (!preg_match("/^[a-zA-Z0-9_\.\-]+@([a-zA-Z0-9\-]+\.)+[a-zA-Z]{2,6}$/", $_POST['email'])) {
echo '';
}
elseif(empty($_POST['password'])) {
echo '';
}
elseif (!preg_match("/\A(\w){1,20}\Z/", $_POST['password'])) {
echo '';
}
elseif(empty($_POST['password2'])) {
echo '';
}
elseif($_POST['password'] != $_POST['password2']) {
echo '';
}
 
 
else{
$login = $_POST['login'];
$email = $_POST['email'];
$password = $_POST['password'];
$password2 = $_POST['password2'];
 
$query = ("SELECT id FROM users WHERE login='$login'");
$sql = mysql_query($query) or die(mysql_error());
 
if (mysql_num_rows($sql) > 0) {
echo '<font color="red"> Пользователь с таким логином зарегистрирован!</font>';
}
else {
$query2 = ("SELECT id FROM users WHERE email='$email'");
$sql = mysql_query($query2) or die(mysql_error());
if (mysql_num_rows($sql) > 0){
echo '<font color="red"><img border="0" src="error.gif" alt="Пользователь с таким e-mail зарегистрированый!">Пользователь с таким e-mail уже зарегистрирован!</font>';
}
else{
$query = "INSERT INTO users (login, email, password)
VALUES ('$login', '$email', '$password' )";
$result = mysql_query($query) or die(mysql_error());;
echo "<meta http-equiv='Refresh' content='0; URL=http://asd/reg/index.php'>";
}
}
}
}
?>
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<html> 
<section class="section-forms">
<div class="forms">
<form name="registration" action="" method="POST">
<h2>Регистрация</h2>
<label for="login">Имя пользователя:</label>
<input id="login" type="text" name="login" name="login" value="" placeholder=""/>
<label class="error"> </label>
<label for="e-mail">Введите e-mail:</label>
<input id="e-mail" type="email" name="email" value=""/ placeholder=""/>
<label class="error"> </label>
<label for="password">Введите пароль:</label>
<input id="password" type="password" name="password" value="" placeholder=""/>
<label class="error"> </label>
<label for="password">Повторите ранее созданный пароль:</label>
<input id="password" type="password" name="password" value="" placeholder=""/>
<label class="error"> </label>
<input type="hidden" name="action" value="reg">
<button id="registration-btn" type="submit" >Регистрация</button><a href="/login/" class="right">Вход</a>
</form>
</div>
</section>
</html>
А вот и авторизация: здесь где то ошибка.
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<html>
<section class="section-forms">
<div class="forms">
<form name="registration" action="login.php" method="POST">
<h2>Авторизация</h2>
<label for="login">Введите логин</label>
<input id="login" type="text" name="login" name="login" value="" placeholder=""/>
<label class="error"> </label>
<label for="password">Введите пароль</label>
<input id="password" type="password" name="passwdord" placeholder=""/>
<label class="error"> </label>
<input type="hidden" name="action" value="loginn">
<button id="authorization" type="submit" name="submit">Войти</button>
<a href="/" class="right">Регистрация</a>
<a href="/forgot/" class="left">Забыли пароль?</a>
</form>
</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
29
30
31
32
33
34
35
36
37
<?php
if (isset($_POST['submit'])){
if (isset($_POST['login'])){
$login = $_POST['login']; 
if ($login == '') {
unset($login);
exit ("Введите пожалуйста логин!");
} 
}
if (isset($_POST['password'])){
$password = $_POST['password']; 
if ($password == '') {
unset($password);
exit ("Введите пароль");
}
}
$login = stripslashes($login);
$login = htmlspecialchars($login);
$password = stripslashes($password);
$password = htmlspecialchars($password);
 
$login = trim($login);
$password = trim($password);
$password = md5($password);//шифруем пароль
$user = mysql_query("SELECT id FROM users WHERE login='$login' AND password='$password'");
$id_user = mysql_fetch_array($user);
if (empty($id_user['id'])){
exit ("Извините, введённый вами логин или пароль неверный.");
}
else {
$_SESSION['password'] = $password; 
$_SESSION['login'] = $login; 
$_SESSION['id'] = $id_user['id']; 
}
echo "<meta http-equiv='Refresh' content='0; URL=index.php'>";
)
?>
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.07.2017, 17:59
Ответы с готовыми решениями:

PHP авторизация
if(isset($_POST)) { $data = mysqli_query('SELECT `login`, `password` FROM `admin` WHERE `login`=&quot;'.$_POST.'&quot;'); $sqlli =...

Авторизация на PHP
Подскажите пожалуйста в чем может быть проблема в коде ниже? Ошибки не какие не высвечиваются а так же ничего не происходит (то есть не...

Странно работает авторизация на PHP
Здравствуйте! У меня есть скрипт авторизации, основанный на COOKIE: &lt;form id=&quot;sign_in&quot; method=&quot;POST&quot;&gt; ...

2
6 / 6 / 7
Регистрация: 16.05.2013
Сообщений: 351
24.07.2017, 09:00
1) В коде формы авторизации (было бы не плохо), как и в коде формы регистрации, закрывать все блоки тегов, т.е.
добавить в конце несколько закрывающих тегов:
HTML5
1
2
3
4
5
6
7
8
<!Вместо этого>
</form>
</html>
<!Это>
</form>
</div>
</section>
</html>
2) При регистрации в базу вносится НЕ шифрованный пароль. А вот при авторизации он шифруется и только тогда выполняется запрос. Быть может в этом месте неувязка получается?)

3) Также проблема может быть в том, что $_SESSION может быть не видна. Сталкивался с такой проблемой, так как не обозначал начало сессии до работы с её "переменной":
PHP
1
session_start();
А вообще было бы весьма полезно знать с чем именно проблема, т.е. продебажить код, посмотреть на responce от сервера. Это можно сделать легко с помощью отладчика, например встроенного в Google Chrome. Тогда не пришлось бы угадывать суть проблемы
0
0 / 0 / 0
Регистрация: 23.07.2017
Сообщений: 3
24.07.2017, 19:33  [ТС]
Не помогло всё ровно так же.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.07.2017, 19:33
Помогаю со студенческими работами здесь

Авторизация и парсинг PHP (CURL)
Доброе время суток форумчане, Столкнулся с нуждою спарсить контент контент из закрытой части сайта https://lk.cinemapark.ru/ мне...

Авторизация c $_SESSION и $_COOKIE на PHP сайте
Привет всем! У меня есть проблема с сессиями. Объясню подробнее: У меня стоит Apache2.2 и PHP 5.4 шаренная папка localhost для...

Не работает авторизация php, javascript. Что не так в коде?
Вот собственно код. При нажатии заполнении логина и пароля и нажатии на ВХОД. Форма пропадает, но авторизация с текстом...

PHP и MySQL
Подскажите, в чем ошибка? foreach($header as $key =&gt; $value) { mysql_query(&quot;UPDATE `oplati` SET...

MySQL PHP
у меня есть код, я хочу чтобы текст находящийся в MYSQL удалялся с помощью PHP. В чем проблема? Почему не удаляется? Я в этом...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru