Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/15: Рейтинг темы: голосов - 15, средняя оценка - 4.93
2 / 2 / 3
Регистрация: 18.10.2014
Сообщений: 98
Записей в блоге: 1

Не работает авторизация

27.11.2015, 22:34. Показов 3299. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.

У меня возникла проблема со входом (авторизацией) на моем сайте..


есть отельный php файл для проверки введенных данных и последующей авторизацией

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
<?php
header('Content-Type: text/html; charset=utf-8');
//setlocale(LC_ALL,'ru_RU.65001','rus_RUS.65001','Russian_Russia.65001','russian');
session_start();//  вся процедура работает на сессиях. Именно в ней хранятся данные  пользователя, пока он находится на сайте. Очень важно запустить их в  самом начале странички!!!
    
if (isset($_POST['login'])) { $login = $_POST['login']; if ($login == '') { unset($login);} } //заносим введенный пользователем логин в переменную $login, если он пустой, то уничтожаем переменную
if (isset($_POST['password'])) { $password=$_POST['password']; if ($password =='') { unset($password);} }
    //заносим введенный пользователем пароль в переменную $password, если он пустой, то уничтожаем переменную
if (empty($login) or empty($password)) //если пользователь не ввел логин или пароль, то выдаем ошибку и останавливаем скрипт
    {
    exit ("<body><div align='center'><br/><br/><br/><h3>Вы ввели не всю информацию, вернитесь назад и заполните все поля!" . "<a href='http://nyiann.xyz'> <b>Назад</b> </a></h3></div></body>");
    }
    //если логин и пароль введены,то обрабатываем их, чтобы теги и скрипты не работали, мало ли что люди могут ввести
    $login = stripslashes($login);
    $login = htmlspecialchars($login);
    $password = stripslashes($password);
    $password = htmlspecialchars($password);
//удаляем лишние пробелы
    $login = trim($login);
    $password = trim($password);
    
     //Подключаемся к базе данных
 
    $link = mysqli_connect("localhost", "чтото", "чтото", "чтото");
    if(!$link){throw new Exception('Connect to BD field!');}
 
 //извлекаем из базы все данные о пользователе с введенным логином
 
    $result= mysqli_query($link, "SELECT * FROM `users` WHERE login='$login'");
    $row = mysqli_fetch_array($result);
    if (empty($row["password"]))
    {
    exit ("<body><div align='center'><br/><br/><br/>
    <h3>Извините, введённый вами login или пароль неверный." . "<a href='http://nyiann.xyz'> <b>Назад</b> </a></h3></div></body>");
    }
    else {
    //если существует, то сверяем пароли
    if ($row["password"]==$password) {
    //если пароли совпадают, то запускаем пользователю сессию! Можете его поздравить, он вошел!
    $_SESSION['login']=$row["login"]; 
    $_SESSION['id']=$row["id"];//эти данные очень часто используются, вот их и будет "носить с собой" вошедший пользователь
   header("Location:http://nyiann.xyz"); 
    }
 else {
    //если пароли не сошлись
    exit ("<body><div align='center'><br/><br/><br/>
    <h3>Извините, введённый вами login или пароль неверный." . "<a href='http://nyiann.xyz'> <b>Назад</b> </a></h3></div></body>");
    }
    }
    ?>
P.S Этот код я уже использовал много много много раз и он работал , а щас нет.

Что мне выдает этот код при авторизации: "Вы не ввели данные", т.е я не ввел логин и пароль в поля - хотя я все ввел.


вот кусок кода index.php куда вводятся данные для входа

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
 <?php
                            if (empty($_SESSION['login']) or empty($_SESSION['id']))
                            {
                        ?>
                    <div id="modal_form"> 
                        <span id="modal_close">X</span> 
                            <p class="logIN" style="color: rgba(247, 24, 24, 0.59);">Log In</p>
                            <hr style="margin-top: 30px;">
                            <form action="proverka.php">
                                    <input type="text" name="login" class="input1" placeholder="Enter login">
                                    <input type="password" name="password" class="input1" style="margin-top: 10px;" placeholder="Enter password">
                                <hr style="margin-top: 40px;">
                                <input type="submit" name="submit" value="sing in">
                                <a href="#" class="button8">registrate</a>
                            </form>
                        </div>
                        <?php 
                            }
                            else{
                        ?>
                    <div id="modal_form">
                        <span id="modal_close">X</span> 
                            <p class="logIN" style="color: rgba(247, 24, 24, 0.59);">You enter</p>
                                <a href="php/viity.php" class="button8">exit</a>
                        </div>
                      <?php 
                            }
                        ?>
Итого:

Выдает ошибку что МОЛ я не ввел данные....

я указал в input name (login,password) все вроде сделано Но почему он не заполняет переменные???..


вот сайт http://nyiann.xyz/ (ЧТОБ ОТКРЫТЬ ФОРМУ ВХОДА НА САЙТЕ НАЖМИТЕ НА ОРАНЖЕВУЮ БУКУ 'E' в тексте "Creative is simple")

вот тестовые логин и пароль

логин : test
пароль : tester

помогите с этой проблемой :с
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.11.2015, 22:34
Ответы с готовыми решениями:

не работает авторизация
написал несложный(казалось бы) скрипт авторизация...авторизация идет через таблицу в которой три столбца id,login,passwd.СУБД...

Не работает авторизация
Проблема в том что когда я авторизуюсь,а потом перехожу на страницу с товаром или обновляю страницу тогда сессия заканчивается т.е...

не работает авторизация
&lt;html&gt; &lt;form method=&quot;post&quot; action=&quot;menu.php&quot;&gt; Login: &lt;input type='text' name='lgn'&gt; &lt;/br&gt; Password: &lt;input type='password'...

4
Эксперт по компьютерным сетямЭксперт NIX
 Аватар для Dmitry
13440 / 7534 / 830
Регистрация: 09.09.2009
Сообщений: 29,554
27.11.2015, 22:45
сессия должна стартовать до начала вывода в браузер
0
2 / 2 / 3
Регистрация: 18.10.2014
Сообщений: 98
Записей в блоге: 1
27.11.2015, 23:14  [ТС]
Цитата Сообщение от Dmitry Посмотреть сообщение
сессия должна стартовать до начала вывода в браузер
она стартует сразу же

PHP
1
2
3
4
5
6
7
<?php
 session_start();
 header('Content-Type: text/html; charset=utf-8');
?>
 
<html>
    <head>
Добавлено через 4 минуты
По сути мы же вводим данные и нажимает войти!

и по идее Если пароль и логин не правильный то должен написать что Пароль и Логин не совпадают , а тут вообще выдает что их не существует (якобы не ввели данные)
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
28.11.2015, 00:23
Лучший ответ Сообщение было отмечено Nyiann как решение

Решение

Цитата Сообщение от Nyiann Посмотреть сообщение
HTML5
1
<form action="proverka.php">
вы метод забыли указать. По умолчанию, если не указать метод передачи данных, используется GET. А вы смотрите POST - а там, естественно, пусто (странно, что вы не обратили внимание на введенные данные в адресной строке браузера после нажатия кнопки)

Добавлено через 1 минуту
Кстати, еще пара слов по поводу этого, бесспорно, замечательного кода авторизации.. https://www.cyberforum.ru/post3458211.html
1
2 / 2 / 3
Регистрация: 18.10.2014
Сообщений: 98
Записей в блоге: 1
28.11.2015, 00:59  [ТС]
Цитата Сообщение от KOPOJI Посмотреть сообщение
вы метод забыли указать. По умолчанию, если не указать метод передачи данных, используется GET. А вы смотрите POST - а там, естественно, пусто (странно, что вы не обратили внимание на введенные данные в адресной строке браузера после нажатия кнопки)
и в правду.. забыл про метод :с

а на строку браузера обратил как раз таки внимание, но не подумал и не поставил metod...
такая глупая ошибка =\

Цитата Сообщение от KOPOJI Посмотреть сообщение
Кстати, еще пара слов по поводу этого, бесспорно, замечательного кода авторизации.. FAQ по распространенным ошибкам
я видел этот faq на счет этого кода, но т.к у меня просто файл и я его разбирал давно - просто подключал и все, то я не менял ничего даже зная что можно сократить в разы.

Спасибо что помогли (:
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.11.2015, 00:59
Помогаю со студенческими работами здесь

Не работает авторизация!
Создал меню регистрации и там все работает,заносит даные в БД. Но вот войти по ним не выходит! Вот код запроса на вход $dbc =...

Авторизация не работает
Всем привет, делаю авторизация на сайте lk.etherway.ru, но выходит ошибка в чём дело? procedure TForm1.Button1Click(Sender: TObject); ...

Авторизация не работает
Ошибка кажется в запросе, т.к. mysql_num_rows($sql) дает 0 при правильном вводе данных и 0 при неправильном. Не могу определить точно. ...

Не работает авторизация
Не работает авторизация, никаких ошибок не показывает, True или False не показывает. Пожалуйста помогите найти ошибку. &lt;?php ...

Не работает авторизация
Всем привет. Подскажите пожалуйста. Есть скрипт авторизации на сайте, решил из него убрать PDO , после того как убрал , теперь не работает...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru