Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.78/55: Рейтинг темы: голосов - 55, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 11.01.2015
Сообщений: 30

Как узнать пришли ли данные в обработчик?

10.01.2016, 02:38. Показов 12102. Ответов 28
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
при авторизации с помощью яваскрипт не происходит вход
скрипт подтверждает что данные верны,но нет то ли ответа от обработчика,то ли отправки обработчику

код авторизатора
JavaScript
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
$("#button_auth").click(function(){                                                             //отслеживается клик по кнопке Войти
    var auth_login = $("#auth_login").val();                                                    //логин помещается в переменную
    var auth_pass = $("#auth_pass").val();                                                      //пароль помещается в переменную
        if (auth_login == "" || auth_login.length > 30 ){                                       //проверка: если в переменной пусто и символов больше 30
            $("#auth_login").css("borderColor","#FDB6B6");                                      //то рамка поля ввода приобретает красны цвет
            send_login = 'no';                                                                  //создается переменная со значением 'no'
            }
        else {                                                                                  //если в поле ввода не пусто и количество символов в пределах нормы
            $("#auth_login").css("borderColor","#DBDBDB");                                      //происходит иное изменение цвета рамки поля ввода
            send_login = 'yes';                                                                 //создается переменная со значением 'yes'
            }
        if (auth_pass == "" || auth_pass.length > 15 ){                                         //аналогичная проверка поля с паролем
            $("#auth_pass").css("borderColor","#FDB6B6");
            send_pass = 'no';
            }
        else {
            $("#auth_pass").css("borderColor","#DBDBDB");  send_pass = 'yes';
            }
        if ($("#remember_me").prop('checked')){                                                 //проверка: активен ли чекбокс,если активен
            auth_rememberme = 'yes';                                                            //создается переменная со значением 'yes'
            }
        else {                                                                                  //если не активен
            auth_rememberme = 'no';                                                             //создается переменная со значением 'no'
            }
        if ( send_login == 'yes' && send_pass == 'yes' ){                                       //проверка: если данные введены корректно
            $("#button_auth").hide();                                                           //кнопка Войти скрывается
            $(".auth_loading").show();                                                          //появляется анимация входа
            $.ajax({                                                                            //с помощью яджакс происходит отправка данных обработчику
                type: "POST",
                url: "include/auth.php",
                data: "login="+auth_login+"&pass="+auth_pass+"&remember_me="+auth_remember_me,
                dataType: "html",
                cache: false,
                success: function(data) {                                                       // возвращаются данные от обработчика
                    if (data == 'yes_auth'){                                                    //при успешной авторизации
                        location.reload();                                                      //страница перезагружается
                        }
                    else {                                                                      //при не верных данных
                        $("#message_auth").slideDown(400);                                      //всплывает сообщение
                        $(".auth_loading").hide();                                              //анимация загрузки скрывается
                        $("#button_auth").show();                                               //кнопка Войти вновь становится видна
                        }
                        }
                });  
            }
    });
и код обработчика
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
if($_SERVER["REQUEST_METHOD"] == "POST"){                                                               //проверка: если к файлу обратились методом "POST",то
        include("db_connect.php");                                                                  //подключаются необходимые файлы
        include("../function/function.php");
        include("../function/nfunction.php");
        $login = clData($_POST["login"]);                                                                   //переменная $login это отфильтрованное значение $_POST["login"]
        //$pass = md5($pass);                                                                                 //шифровка пароля
        //$pass = strrev($pass);
        //$pass = strtolower("9nm2rv8q".$pass."2y06z");
            if($_POST["remember_me"] == "yes"){                                                             //если чекбокс активен,то
                setcookie('remember_me',$login.'+'.$pass,time()+3600*24*31,"/");                            //создается сессия
            }
        $result = mysql_query("SELECT * FROM reg_user WHERE(login ='$login' OR email = '$email') AND pass = '$pass'",$link);
        if(mysql_num_rows($result) >0){                                                                     //если запрос возвращает совпадение
            $row = mysql_fetch_array($result);                                                              //переменная $row это массив данных из переменной $result
            session_start();                                                                                //стартует сессия
            $_SESSION['auth'] = 'yes_auth';                                                                 //в сессии сохраняются данные пользователя
            $_SESSION['auth_pass'] = $row['pass'];
            $_SESSION['auth_login'] = $row['login'];
            $_SESSION['auth_surname'] = $row['surname'];
            $_SESSION['auth_name'] = $row['name'];
            $_SESSION['auth_patronymic'] = $row['patronymic'];
            $_SESSION['auth_adress'] = $row['adress'];
            $_SESSION['auth_phone'] = $row['phone'];
            $_SESSION['auth_email'] = $row['email'];
            echo 'yes_auth';                                                                                //положительный ответ аджаксу в форме авторизации
 
        }
        else{                                                                                               //если запрос в БД не вернул совподение
            echo 'no_auth';                                                                                 //отрицательный ответ аджаксу в форме авторизации
        }
    }
подскажите что не так?и как исправить

Добавлено через 1 час 13 минут
возможна ли причина в адресе к файлу-обработчику?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.01.2016, 02:38
Ответы с готовыми решениями:

Узнать, откуда пришли данные
Как можно узнать, откуда пришли данные на страницу? Например код на странице code.php, на него отправляются данные с send.php (method =...

Как узнать с какого сайта пришли
Подскажите пожалуйста, как мне с помощью php узнать с какого url'а пришли на сайт?

Сервлет. Как узнать откуда пришли на ссылку?
На странице есть ссылка на сервлет. Как при переходе по этой ссылке, определить в сервлете, с какой страницы перешёл пользователь? ...

28
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
11.01.2016, 11:18
Студворк — интернет-сервис помощи студентам
как насчет этого?
Цитата Сообщение от dagomet Посмотреть сообщение
include("../function/nfunction.php"); $login = clData($_POST["login"]); //переменная $login это отфильтрованное значение $_POST["login"] //$pass = md5($pass); //шифровка пароля $pass = $_POST['pass'];
Цитата Сообщение от dagomet Посмотреть сообщение
"auth_login="+auth_login+"&auth_pass="+auth_pass+"
0
0 / 0 / 0
Регистрация: 11.01.2015
Сообщений: 30
11.01.2016, 14:55  [ТС]
Цитата Сообщение от fanatikus Посмотреть сообщение
как насчет этого?
Сообщение от dagomet
include("../function/nfunction.php"); $login = clData($_POST["login"]); //переменная $login это отфильтрованное значение $_POST["login"] //$pass = md5($pass); //шифровка пароля $pass = $_POST['pass'];
Сообщение от dagomet
"auth_login="+auth_login+"&auth_pass="+a uth_pass+"
то я уже экспериментировал
вот исходник кода авторизации
JavaScript
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
$("#button-auth").click(function() {
        
 var auth_login = $("#auth_login").val();
 var auth_pass = $("#auth_pass").val();
 
 
 if (auth_login == "" || auth_login.length > 30 )
 {
    $("#auth_login").css("borderColor","#FDB6B6");
    send_login = 'no';
 }else {
    
   $("#auth_login").css("borderColor","#DBDBDB");
   send_login = 'yes'; 
      }
 
 
if (auth_pass == "" || auth_pass.length > 15 )
 {
    $("#auth_pass").css("borderColor","#FDB6B6");
    send_pass = 'no';
 }else { $("#auth_pass").css("borderColor","#DBDBDB");  send_pass = 'yes'; }
 
 
 
 if ($("#rememberme").prop('checked'))
 {
    auth_rememberme = 'yes';
 
 }else { auth_rememberme = 'no'; }
 
 
 if ( send_login == 'yes' && send_pass == 'yes' )
 { 
  $("#button-auth").hide();
  $(".auth-loading").show();
    
    $.ajax({
  type: "POST",
  url: "/include/auth.php",
  data: "login="+auth_login+"&pass="+auth_pass+"&rememberme="+auth_rememberme,
  dataType: "html",
  cache: false,
  success: function(data) {
 
  if (data == 'yes_auth')
  {
      location.reload();
  }else
  {
      $("#message-auth").slideDown(400);
      $(".auth-loading").hide();
      $("#button-auth").show();
      
  }
  
}
});  
}
});
и сам обработчик
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
if($_SERVER["REQUEST_METHOD"] == "POST")
{
    define('myeshop', true);
    include('db_connect.php');
    include('../functions/functions.php');
    
    $login = clear_string($_POST["login"]);
    
    $pass   = md5(clear_string($_POST["pass"]));
    $pass   = strrev($pass);
    $pass   = strtolower("9nm2rv8q".$pass."2yo6z");
    
 
    
    if ($_POST["rememberme"] == "yes")
    {
 
            setcookie('rememberme',$login.'+'.$pass,time()+3600*24*31, "/");
 
    }
    
       
   $result = mysql_query("SELECT * FROM reg_user WHERE (login = '$login' OR email = '$login') AND pass = '$pass'",$link);
If (mysql_num_rows($result) > 0)
{
    $row = mysql_fetch_array($result);
    session_start();
    $_SESSION['auth'] = 'yes_auth'; 
    $_SESSION['auth_pass'] = $row["pass"];
    $_SESSION['auth_login'] = $row["login"];
    $_SESSION['auth_surname'] = $row["surname"];
    $_SESSION['auth_name'] = $row["name"];
    $_SESSION['auth_patronymic'] = $row["patronymic"];
    $_SESSION['auth_address'] = $row["address"];
    $_SESSION['auth_phone'] = $row["phone"];
    $_SESSION['auth_email'] = $row["email"];
    echo 'yes_auth';
 
}else
{
    echo 'no_auth';
}  
}
на форуме еще три темы с этим кодом и у всех не работает

это из курса Жур Артура

мне как совсем зелёному и это сложно

со всеми его квери-скриптами у меня проблемы,в некоторых кодах я заменил возвращаемые значения с буквенных на численные и заработало,
а в некоторых я не пойму вообще что надо
я PHP изучаю,потому заменяю его ява-код php-кодом

ну всё равно интересно почему его код у меня не работае

Добавлено через 3 минуты
сейчас обращение к обработчику через форму напрямую идет и возврат с помощью header, так что обработчик работает правильно,и правильно,исходя из корректности отправки данных,возвращает соответствующий результат

а через аякс - постоянно "неправильный логин или пароль"

я даже адрес к обработчику полностью у аякс удалял,тупо пустое место в кавычках,скриптвсе равно выдает одно и тоже,
перезагружал браузер и редактор - не пойму поведение скрипта
0
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
11.01.2016, 15:15
так, работает
JavaScript
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
$(function(){
        $("#button-auth").click(function() {
            var auth_login = $("#auth_login").val();
            var auth_pass = $("#auth_pass").val();
 
            if (auth_login == "" || auth_login.length > 30 )
            {
               $("#auth_login").css("borderColor","#FDB6B6");
               var send_login = 'no';
            }else 
            {
                $("#auth_login").css("borderColor","#DBDBDB");
                send_login = 'yes'; 
            }
 
            if (auth_pass == "" || auth_pass.length > 15 )
            {
               $("#auth_pass").css("borderColor","#FDB6B6");
               var send_pass = 'no';
            }
            else 
            { 
                $("#auth_pass").css("borderColor","#DBDBDB");
                send_pass = 'yes'; 
            }
 
            if ($("#rememberme").prop('checked'))
            {
              var auth_rememberme = 'yes';
 
            }
            else 
            { 
                auth_rememberme = 'no'; 
            }
 
            if ( send_login == 'yes' && send_pass == 'yes' )
            { 
               $("#button-auth").hide();
               $(".auth-loading").show();
 
               $.ajax({
                   type: "POST",
                   url: "/include/auth.php",
                   data: "login="+auth_login+"&pass="+auth_pass+"&rememberme="+auth_rememberme,
                   dataType: "html",
                   cache: false,
                   success: function(data) {
                       if (data === 'yes_auth')
                       {
                           location.reload();
                       }
                       else
                       {
                           $("#message-auth").slideDown(400);
                           $(".auth-loading").hide();
                           $("#button-auth").show();
 
                       }
 
                   }
                });  
            }
        }); 
    })
0
0 / 0 / 0
Регистрация: 11.01.2015
Сообщений: 30
11.01.2016, 16:04  [ТС]
неа
не работает

почему var применил только в if,а в else нет?
что это означает

и еще

раньше,когда была проблема в обращении к адресу обработчика,выводилась анимация соединения
JavaScript
1
2
3
4
if ( send_login == 'yes' && send_pass == 'yes' )
 { 
  $("#button-auth").hide();
  $(".auth-loading").show();
после того как я правильно адрес прописал,стал выводиться один из результатов после ответа обработчика
JavaScript
1
2
3
4
5
6
7
8
 if (data == 'yes_auth')
  {
      location.reload();
  }else
  {
      $("#message-auth").slideDown(400);
      $(".auth-loading").hide();
      $("#button-auth").show();
теперь же,срабатывает только
JavaScript
1
2
3
4
5
6
7
else
  {
      $("#message-auth").slideDown(400);
      $(".auth-loading").hide();
      $("#button-auth").show();
      
  }
при любом значении урл в
JavaScript
1
2
3
4
5
6
$.ajax({
  type: "POST",
  url: "/include/auth.php",
  data: "login="+auth_login+"&pass="+auth_pass+"&rememberme="+auth_rememberme,
  dataType: "html",
  cache: false,
почему?
0
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
11.01.2016, 16:12
Цитата Сообщение от dagomet Посмотреть сообщение
почему var применил только в if,а в else нет?
недосмотрел.
у меня, все прекрасно передает на сервер и получает ответ
0
0 / 0 / 0
Регистрация: 11.01.2015
Сообщений: 30
11.01.2016, 16:29  [ТС]
в одном из таких случаев у человека была проблема с кодировкой файлов,но он уже не помнит что именно
возможно ли как то проверить как аякс читает значения в url и в data?

может он в тех значениях принимает некорректные данные?

у меня все файлы utf-8 без BOM
0
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
11.01.2016, 16:32
в консоли браузера, можно глянуть что отправляется и что приходит
0
0 / 0 / 0
Регистрация: 11.01.2015
Сообщений: 30
12.01.2016, 01:11  [ТС]
Цитата Сообщение от fanatikus Посмотреть сообщение
в консоли браузера, можно глянуть что отправляется и что приходит
не нашел,либо не смог найти то что хотел

мне бы узнать не считывает аякс в
url: "auth.php", "auth.php" кракозябрами?

и в if (data == "")

сейчас в url: "" пусто,а код всё равно выполняется

почему?

Добавлено через 8 часов 10 минут
вобщем так!

так как я нуб
я оставил вывод ошибок
PHP
1
error_reporting(E_ALL);
неопределённые переменные выводились с помощью
Notice: Undefined variable:
и
Notice: Undefined index:

я еще не до конца все хвосты умею заносить

в итоге это всё попадало в success: function(data) при ответе аяксу с сервера,а не только "1" как ожидалось
аякс отправлял данные логина и пароля правильные
обработчик правильно их обрабатывал
и давал соответствующий ответ....но в перемешку с
Notice: Undefined variable:
и
Notice: Undefined index:

что не принимал аякс,он то ждал "1"
с помощью alert( "Прибыли данные: "+data); я проверял чисто $.ajax в авторизаторе,без лишнего кода


и еще подкорректировал по уму сам код авторизатора
JavaScript
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
$("#button_auth").click(function(){                                                             //отслеживается клик по кнопке Войти
    var auth_login = $("#auth_login").val();                                                    //логин помещается в переменную
    var auth_pass = $("#auth_pass").val();                                                      //пароль помещается в переменную
        if (auth_login == "" || auth_login.length > 30 ){                                       //проверка: если в переменной пусто и символов больше 30
            $("#auth_login").css("borderColor","#FDB6B6");                                      //то рамка поля ввода приобретает красны цвет
            var send_login = 'no';                                                                  //создается переменная со значением 'no'
            }
        else {                                                                                  //если в поле ввода не пусто и количество символов в пределах нормы
            $("#auth_login").css("borderColor","#DBDBDB");                                      //происходит иное изменение цвета рамки поля ввода
            var send_login = 'yes';                                                                 //создается переменная со значением 'yes'
            }
        if (auth_pass == "" || auth_pass.length > 15 ){                                         //аналогичная проверка поля с паролем
            $("#auth_pass").css("borderColor","#FDB6B6");
            var send_pass = 'no';
            }
        else {
            $("#auth_pass").css("borderColor","#DBDBDB");
            var send_pass = 'yes';
            }
        if ($("#remember_me").prop('checked')){                                                 //проверка: активен ли чекбокс,если активен
            var auth_remember_me = 'yes';                                                            //создается переменная со значением 'yes'
            }
        else {                                                                                  //если не активен
            var auth_remember_me = 'no';                                                             //создается переменная со значением 'no'
            }
        if ( send_login == 'yes' && send_pass == 'yes' ){                                       //проверка: если данные введены корректно
            $("#button_auth").hide();                                                           //кнопка Войти скрывается
            $(".auth_loading").show();                                                          //появляется анимация входа
            $.ajax({                                                                            //с помощью яджакс происходит отправка данных обработчику
                type: "post",
                url: "auth.php",
                data: {auth_login:auth_login,auth_pass:auth_pass,auth_remember_me:auth_remember_me},//"login="+auth_login+"&pass="+auth_pass+"&remember_me="+auth_remember_me,
                dataType: "html",
                cache: false,
                success: function(data) {                                                       // возвращаются данные от обработчика
                    if (data == 1){                                                    //при успешной авторизации
                        location.reload();                                                      //страница перезагружается
                        }
                    else {                                                                      //при не верных данных
                        $("#message_auth").slideDown(400);                                      //всплывает сообщение
                        $(".auth_loading").hide();                                              //анимация загрузки скрывается
                        $("#button_auth").show();                                               //кнопка Войти вновь становится видна
                        alert( "Прибыли данные: "+data);
                        }
                    }
                }); 
            }
    });
вот теперь ВСЁ РАБОТАЕТ так,как надо

правда отображение на браузерах разное...но то уже...

мне вот диплом через месяц сдавать с тематикой по PHP,
а я с яваскриптом только три дня разбирался
0
0 / 0 / 0
Регистрация: 21.11.2014
Сообщений: 19
22.05.2016, 10:59
Не мог бы ты выложить еще код файла auth.php. Спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.05.2016, 10:59

Как узнать, с какого сайта ко мне пришли ?
Собств-но сабж. Надо знать, откуда попали ко мне на страницу. С уважением, Сергей.

Как узнать поисковую фразу по которой пришли на сайт
Хочу сделать свой сбор статистики -3 вопоса. 1. Как узнать поисковую фразу по которой пришли на сайт 2. Имя файла своей текущей...

COM-порт: как отследить событие, когда данные пришли
Среда C#.net Пространство имен System.IO.Ports Для приема всех доступных байтов использую метод ReadExisting класса SerialPort С...

Как заполнить модель значениями по умолчанию если от клиента пришли невалидные данные?
Всех приветствую. Приходит мне в модель вместо int? строка, которую валидатор (валидатор по умолчанию/базовый ?) не может привести к...

Можно ли узнать полную ссылку, с которой пришли на мой сайт?
Здравствуйте уважаемые. Подскажите пожалуйста, можно ли узнать полную ссылку с которой пришли на мой сайт?


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

Или воспользуйтесь поиском по форуму:
29
Ответ Создать тему
Новые блоги и статьи
Почему SEO не начинается с ключевых слов: что проверить до написания текстов
Neotwalker 01.08.2026
Когда владельцу сайта предлагают заняться SEO, первым шагом часто становится сбор запросов и написание текстов. Логика кажется понятной: 1. Находим ключевые слова. 2. Добавляем их на. . .
Знание — сила: Доктрина интенциональности знаний, углубление в формулу
Hrethgir 01.08.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11957&stc=1&d=1785567302 Знаменитый афоризм Фрэнсиса Бэкона «Знание — сила» (Scientia potentia est) в массовой культуре принято понимать. . .
SUNO Ai - Река Без Дна
zorxor 31.07.2026
Автор стихотворения - астрофизик Марина Катыс Ссылка на сгенерированную музыкальную композицию: https:/ / suno. com/ song/ 6f6e5464-b290-4650-be6c-44c85f8d8013 Я говорю, что Время- как вода течет. . .
Из невошедшего на форум (диалог с ИИ-гугла)
zorxor 29.07.2026
А вот, что интересно, сказал мне ИИ-гугла: Этот текст — эмоциональный пост пользователя под ником zorxor на интернет-форуме (вероятно, посвященном мистике, непознанному или альтернативной науке). . . .
Был праздник вчера, а я и не знал.
kumehtar 28.07.2026
27. 07. 2026г. Intel Core 2 Duo исполнилось 20 лет Салют, шампанское, овации! :drink:
Нейтральные знания, чистый код - бла-бла-бла-бла, на самом деле кликбейт и самореклама, плагиат, и вот почему
Hrethgir 27.07.2026
То-есть отклонение такой публикации говорит само за себя, и пусть только возьмут на вооружение после отклонения публикации - это будет чистейшим актом плагиата. Отклонял Хабр. Дословно, отклонённая. . .
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru