0 / 0 / 0
Регистрация: 21.08.2016
Сообщений: 34

Почему при создании регистрации if (data == "true") не сравнивает?

30.09.2016, 19:04. Показов 2933. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
JavaScript
1
2
3
4
5
6
7
8
9
10
success: function(data) {                        
    if (data == "true"){
    $("#block-form-registration").fadeOut(300,function() {   
        $("#reg_message").addClass("reg_message_good").fadeIn(400).html("Вы успешно зарегистрированы! "+data);
        $("#form_submit").hide();
    });
    }else{
        $("#reg_message").addClass("reg_message_error").fadeIn(400).html("Не коректный ввод "+data); 
    }
}
выводится всегда: "Не коректный ввод true",
но если data == "true" должна выводиться строчка: "Вы успешно зарегистрированы! true"
строчка if (data == "true") не сравнивает почему? возможные причины подскажите плиз.

вот кстати сам обработчик:
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
59
60
61
62
63
64
65
66
 if($_SERVER["REQUEST_METHOD"] == "POST"){ 
    session_start();
    
    include("../include/db_connect.php");
    include("../function/function.php");
 
    $error = array();
         
    $login = strtolower(clear_string($_POST['reg_login'])); 
    $pass = iconv("UTF-8", "cp1251",strtolower(clear_string($_POST['reg_pass']))); 
    $surname = iconv("UTF-8", "cp1251",clear_string($_POST['reg_surname'])); 
    
    $name = iconv("UTF-8", "cp1251",clear_string($_POST['reg_name'])); 
    $patronymic = iconv("UTF-8", "cp1251",clear_string($_POST['reg_patronymic'])); 
    $email = iconv("UTF-8", "cp1251",clear_string($_POST['reg_email'])); 
    
    $phone = iconv("UTF-8", "cp1251",clear_string($_POST['reg_phone'])); 
    $address = iconv("UTF-8", "cp1251",clear_string($_POST['reg_address']));  
 
 
    if (strlen($login) < 5 or strlen($login) > 15){
      echo $error[] = "Логин должен быть от 5 до 15 символов!"; 
    }else{   
        $result = $db->query("SELECT login FROM reg_user WHERE login = '$login'");
        if ($result->rowCount() > 0){
            $error[] = "Логин занят!";
        }      
    } 
    if (strlen($pass) < 7 or strlen($pass) > 15) $error[] = "Укажите пароль от 7 до 15 символов!";
    if (strlen($surname) < 3 or strlen($surname) > 20) $error[] = "Укажите Фамилию от 3 до 20 символов!";
    if (strlen($name) < 3 or strlen($name) > 15) $error[] = "Укажите Имя от 3 до 15 символов!";
    if (strlen($patronymic) < 3 or strlen($patronymic) > 25) $error[] = "Укажите Отчество от 3 до 25 символов!";
    if (!preg_match("/^(?:[a-z0-9]+(?:[-_.]?[a-z0-9]+)?@[a-z0-9_.-]+(?:\.?[a-z0-9]+)?\.[a-z]{2,5})$/i",trim($email))) $error[] = "Укажите корректный email!";
    if (!$phone) $error[] = "Укажите номер телефона!";
    if (!$address) $error[] = "Необходимо указать адрес доставки!";
    
    if($_SESSION['img_captcha'] != strtolower($_POST['reg_captcha'])) $error[] = "Неверный код с картинки!";
    unset($_SESSION['img_captcha']);
    
   if (count($error)){
        echo implode('<br />',$error);
   }else{   
        $pass   = md5($pass);
        $pass   = strrev($pass);
        $pass   = "smhgfd".$pass."fsgfsg";
        
        $ip = $_SERVER['REMOTE_ADDR'];
    
        $db->exec(" INSERT INTO reg_user(login,pass,surname,name,patronymic,email,phone,address,datetime,ip)
                        VALUES(
                        
                            '".$login."',
                            '".$pass."',
                            '".$surname."',
                            '".$name."',
                            '".$patronymic."',
                            '".$email."',
                            '".$phone."',
                            '".$address."',
                            NOW(),
                            '".$ip."'                           
                        )");
       
        echo "true";
    }
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
30.09.2016, 19:04
Ответы с готовыми решениями:

Ошибка доступа к папке Data Directory (App Data) при создании БД SQLSERVER
Ребята, такая проблемка - мне необходимо что бы при запуске моего приложения создавалась БД mssqlserver 2012. Как показано в инструкциях...

При создании регистрации
Здраствуйте! Подскажите, при создании регистрации на php: Фамилия Имя Место проживания Дата рождения Пол Email В Базе...

True/false при создании таблицы
Добрый день. Пытаюсь понять как сделать следующее учебное задание - надо создать таблицу в которой будет флаг 'врач?', если флаг- true то...

13
 Аватар для sad67man
2604 / 1508 / 689
Регистрация: 23.08.2015
Сообщений: 3,839
30.09.2016, 19:12
geromo,
Я может чего-то не догоняю. но в php скрипте вы выводите либо yes_auth либо no_auth. Каким образом у вас получается "true" я не до конца понимаю. Но довайте подумаем о подходе к отладке.
Выведете первым делом, что вы получаете
console.log(data, data=="true")
И добейтесь, чтоб условие выполнялось.
Попробуйте разные варианты
0
0 / 0 / 0
Регистрация: 21.08.2016
Сообщений: 34
30.09.2016, 19:15  [ТС]
не тот обработчик скопировал сначала, исправил.
если коротко то:
JavaSript строка не равна строке с php у меня почему то, хотя они одинаковые
0
 Аватар для sad67man
2604 / 1508 / 689
Регистрация: 23.08.2015
Сообщений: 3,839
30.09.2016, 19:23
geromo, Что у вас получается если вывести console.log(data, data=="true"), и покажите код аякс запроса целиком.
0
0 / 0 / 0
Регистрация: 21.08.2016
Сообщений: 34
30.09.2016, 19:26  [ТС]
консоль выдает: true, false
т.е. у меня true != true как так.
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
  <script type="text/javascript">
$(document).ready(function() {  
      $('#form_reg').validate(
                {   
                    // правила для проверки
                    rules:{
                        "reg_login":{
                            required:true,
                            minlength:5,
                            maxlength:15,
                            remote: {
                            type: "post",    
                            url: "/reg/check_login.php"
                            }
                        },
                        "reg_pass":{
                            required:true,
                            minlength:7,
                            maxlength:15
                        },
                        "reg_surname":{
                            required:true,
                            minlength:3,
                            maxlength:15
                        },
                        "reg_name":{
                            required:true,
                            minlength:3,
                            maxlength:15
                        },
                        "reg_patronymic":{
                            required:true,
                            minlength:3,
                            maxlength:25
                        },
                        "reg_email":{
                            required:true,
                            email:true
                        },
                        "reg_phone":{
                            required:true
                        },
                        "reg_address":{
                            required:true
                        },
                        "reg_captcha":{
                            required:true,
                            remote: {
                            type: "post",    
                            url: "/reg/check_captcha.php"
                            },
                            
                            
                        }
                    },
 
                    // выводимые сообщения при нарушении соответствующих правил
                    messages:{
                        "reg_login":{
                            required:"Укажите Логин!",
                            minlength:"От 5 до 15 символов!",
                            maxlength:"От 5 до 15 символов!",
                            remote: "Логин занят!"
                        },
                        "reg_pass":{
                            required:"Укажите Пароль!",
                            minlength:"От 7 до 15 символов!",
                            maxlength:"От 7 до 15 символов!"
                        },
                        "reg_surname":{
                            required:"Укажите вашу Фамилию!",
                            minlength:"От 3 до 20 символов!",
                            maxlength:"От 3 до 20 символов!"                            
                        },
                        "reg_name":{
                            required:"Укажите ваше Имя!",
                            minlength:"От 3 до 15 символов!",
                            maxlength:"От 3 до 15 символов!"                               
                        },
                        "reg_patronymic":{
                            required:"Укажите ваше Отчество!",
                            minlength:"От 3 до 25 символов!",
                            maxlength:"От 3 до 25 символов!"  
                        },
                        "reg_email":{
                            required:"Укажите свой E-mail",
                            email:"Не корректный E-mail"
                        },
                        "reg_phone":{
                            required:"Укажите номер телефона!"
                        },
                        "reg_address":{
                            required:"Необходимо указать адрес доставки!"
                        },
                        "reg_captcha":{
                            required:"Введите код с картинки!",
                            remote: "Не верный код проверки!"
                            
                        }
                    },
                    
                        submitHandler: function(form){
                        $(form).ajaxSubmit({
                        success: function(data) { 
                        console.log(data, data=="true");                 
                            if (data == "true"){
                                $("#block-form-registration").fadeOut(300,function() {   
                                    $("#reg_message").addClass("reg_message_good").fadeIn(400).html("Вы успешно зарегистрированы! "+data);
                                    $("#form_submit").hide();
                                });
                            }else{
                                $("#reg_message").addClass("reg_message_error").fadeIn(400).html("Не коректный ввод "+data); 
                            }
                        } 
                }); 
            }
            });
        });
     
</script>
0
 Аватар для sad67man
2604 / 1508 / 689
Регистрация: 23.08.2015
Сообщений: 3,839
30.09.2016, 19:28
geromo, а если без кавычек к примеру
console.log(data, data==true)
0
0 / 0 / 0
Регистрация: 21.08.2016
Сообщений: 34
30.09.2016, 19:32  [ТС]
мне сравнить надо именно строки... а не значения true или false.
тут может быть любое другое слово

Добавлено через 1 минуту
у меня есть похожий скрипт и там тоже 2 строчки != друг другу
0
 Аватар для sad67man
2604 / 1508 / 689
Регистрация: 23.08.2015
Сообщений: 3,839
30.09.2016, 19:34
geromo, Судя по тому что вы описали, то строки должны быть равны, поэтому я теряюсь в догадках. Может быть там где-нибудь лишний символ получается?
0
0 / 0 / 0
Регистрация: 21.08.2016
Сообщений: 34
30.09.2016, 19:38  [ТС]
все буквы англ., кодировка utf-8 везде.
уже 3 дня ковыряюсь в этом коде не могу понять в чем дело.
0
 Аватар для sad67man
2604 / 1508 / 689
Регистрация: 23.08.2015
Сообщений: 3,839
30.09.2016, 19:43
geromo, Может быть проблема в кодировке?
попробуйте просто убрать или закомментировать весь php код и вывести просто строку

Добавлено через 1 минуту
У вас кодировка utf без BOM же?
0
0 / 0 / 0
Регистрация: 21.08.2016
Сообщений: 34
30.09.2016, 20:09  [ТС]
закоментировал все
ввел щас console.log(data, data=="true");

получил: true true

Добавлено через 2 минуты
коменты снимаю true false

Добавлено через 9 минут
без BOM
0
 Аватар для sad67man
2604 / 1508 / 689
Регистрация: 23.08.2015
Сообщений: 3,839
30.09.2016, 20:14
geromo, Ну даже не знаю, разбирайтесь, я бы все-таки для начала убедился на наличие лишних символов, допустим перед самым echo попробовать отправить какой-нибудь заголовок, и обратиться через адресную строку напрямую. Может быть дело в подключаемых файлах?
А вот эт очто за строка?
PHP
1
echo $error[] = "Логин должен быть от 5 до 15 символов!";
Зачем тут echo?
1
0 / 0 / 0
Регистрация: 21.08.2016
Сообщений: 34
30.09.2016, 21:52  [ТС]
echo было лишним, но оно не помогло

Добавлено через 1 час 14 минут
я походу что то накосячил с функцией очистки строк, так как убрал ее и все норм стало
вот как выглядит рабочий код:
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
59
60
61
62
63
64
65
66
67
68
69
<?php 
 
    session_start();
    
    include("../include/db_connect.php");
    
 
    $error = array();
        
    $login = strtolower($_POST['reg_login']); 
    $pass = strtolower($_POST['reg_pass']); 
    $surname = $_POST['reg_surname']; 
    
    $name = $_POST['reg_name']; 
    $patronymic = $_POST['reg_patronymic']; 
    $email = $_POST['reg_email']; 
    
    $phone = $_POST['reg_phone']; 
    $address = $_POST['reg_address'];  
 
 
    if (strlen($login) < 5 or strlen($login) > 15){
       $error[] = "Логин должен быть от 5 до 15 символов!"; 
    }else{   
        $result = $db->query("SELECT login FROM reg_user WHERE login = '$login'");
        if ($result->rowCount() > 0){
            $error[] = "Логин занят!";
        }      
    } 
    if (strlen($pass) < 7 or strlen($pass) > 15) $error[] = "Укажите пароль от 7 до 15 символов!";
    if (strlen($surname) < 3 or strlen($surname) > 20) $error[] = "Укажите Фамилию от 3 до 20 символов!";
    if (strlen($name) < 3 or strlen($name) > 15) $error[] = "Укажите Имя от 3 до 15 символов!";
    if (strlen($patronymic) < 3 or strlen($patronymic) > 25) $error[] = "Укажите Отчество от 3 до 25 символов!";
    if (!preg_match("/^(?:[a-z0-9]+(?:[-_.]?[a-z0-9]+)?@[a-z0-9_.-]+(?:\.?[a-z0-9]+)?\.[a-z]{2,5})$/i",trim($email))) $error[] = "Укажите корректный email!";
    if (!$phone) $error[] = "Укажите номер телефона!";
    if (!$address) $error[] = "Необходимо указать адрес доставки!";
    
    if($_SESSION['img_captcha'] != strtolower($_POST['reg_captcha'])) $error[] = "Неверный код с картинки!";
    unset($_SESSION['img_captcha']);
    
   if (count($error)){
        echo implode('<br />',$error);
   }else{  
   echo "da";
        $pass   = md5($pass);
        $pass   = strrev($pass);
        $pass   = "smhgfd".$pass."fsgfsg";
        
        $ip = $_SERVER['REMOTE_ADDR'];
    
        $db->exec(" INSERT INTO reg_user(login,pass,surname,name,patronymic,email,phone,address,datetime,ip)
                        VALUES(
                        
                            '".$login."',
                            '".$pass."',
                            '".$surname."',
                            '".$name."',
                            '".$patronymic."',
                            '".$email."',
                            '".$phone."',
                            '".$address."',
                            NOW(),
                            '".$ip."'                           
                        )");
       
        
    }
 
?>

вот функция очистки строки, где косяк?
PHP
1
2
3
4
5
6
7
8
9
<?php
function clear_string($cl_str){
    $cl_str = strip_tags($cl_str);//— Удаляет HTML и PHP-теги из строки
    $cl_str = htmlspecialchars($cl_str);//— Преобразует специальные символы в HTML-сущности
    $cl_str = trim($cl_str);//— Удаляет пробелы
    
    return $cl_str;
}
?>
Добавлено через 11 минут
аха ха, до слез смешно... оказалось подключаемый файл был в другой кодировке.
sad67man спасиб без тебя не разобрался бы)
0
 Аватар для sad67man
2604 / 1508 / 689
Регистрация: 23.08.2015
Сообщений: 3,839
30.09.2016, 22:02
geromo, Рад, что оказался полезным)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.09.2016, 22:02
Помогаю со студенческими работами здесь

Ошибки при создании регистрации на сайте
Решил создать регистрацию на сайте нашел сайт по этой теме скачал код начинаю регистрироватся выбивает следующие ошибки: ...

Data Explorer, ошибка при создании БД
Здравствуйте. Нашел такую инструкцию http://docwiki.embarcadero.com/RADStudio/XE5/en/Mobile_Tutorial:_Using_SQLite_(iOS_and_Android) для...

Почему при создании веб-страницы в FrontPage автоматически создается папка с изображениями, а при создании веб-страницы в DreamWeaver - нет?
Если я создаю веб-страницу в FrontPage и называю ее, например, page.html, то автоматически создается папка page.files, где хранятся все...

Какие параметры нужно передать при создании Entity Data Model?
Создают экземпляр Entity Data Model public class DataManager { private ItemListDbEntities2 _db; ...

Почему при создании игры Lode Runner потребовалось 19 000 текстур? почему так много?
Почему при создании игры Lode Runner потребовалось 19 000 текстур? почему так много? ...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

Новые блоги и статьи
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru