За последние 24 часа нас посетил 17351 программист и 1650 роботов. Сейчас ищут 898 программистов ...

Не могу сравнить тексты))

Тема в разделе "PHP для новичков", создана пользователем Михаил_Влад, 8 фев 2017.

  1. Михаил_Влад

    Михаил_Влад Новичок

    С нами с:
    4 фев 2017
    Сообщения:
    36
    Симпатии:
    1
    success вернуло нужное мне значение в текстовом виде, но сравнивая значение с таким же в

    alert(data);
    if (data == "yes_auth") - то условие не выполняется, хотя отправляю точно то что нужно и алертом вижу

    ///////////////////////////////////////////////////////////////////////////////////
    HTML:
    1. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    2.  
    3.        <script src="js/jquery-2.1.4.min.js" type="text/javascript"></script>                                        <!-- <script type="text/javascript" src="js/jquery-1.11.2.min.js"></script>--><script>
    4.             function funcBefore(){
    5.                 $("#information").text("Ожидание данных");
    6.             }
    7.  
    8.             function funcSuccess(data){
    9.              
    10.              
    11.                 alert(data);
    12.                 if (data == "yes_auth")
    13.                 {
    14.                 $("#information").text(data);
    15.                 }
    16.                 else{
    17.                     $("#information").text("неа");
    18.                }
    19.             }
    20.          
    21.             $(document).ready(function() {
    22.                 $("#load").bind("click",function(){
    23.                     var user = $('#user').val();
    24.                     var password = $('#password').val();
    25.                     $str = "login=111111111&pass=11111111";
    26.                     $.ajax({
    27.                         url:"content.php",
    28.                         type:"POST",
    29.                         data: $str,
    30.                         dataType:"html",
    31.                         beforeSend:funcBefore(),
    32.                         success: function (response) {
    33.                         funcSuccess (response);
    34.                         }
    35.                     });
    36.                 });
    37.             });
    38.         </script>
    39.     </head>
    40.     <body>
    41.  
    42.         <input id="user" type="text" name="user" />
    43.         <input id="password" type="text" name="password"/>
    44.         <div id="information">
    45.         </div>
    46.         <input id="load" type="button" value="Загрузить данные"/>
    47.     </body>
    48. </html>
    --- Добавлено ---
    PHP:
    1. <?php
    2.  
    3. $db_host = "localhost";
    4. $db_user = "admin";
    5. $db_pass ="123456";
    6. $db_database="db_my";
    7.  
    8. $link = mysql_connect($db_host,$db_user,$db_pass);
    9. mysql_select_db($db_database,$link) or die("Нет соединения с БД").mysql_error();
    10. mysql_query("SET CHARACTER SET cp1251");
    11.  
    12.  
    13. $login = $_POST["login"];
    14. $pass= $_POST["pass"];
    15.  
    16. $pass   = md5($pass);
    17. $pass   = strrev($pass);
    18. $pass   = "dcdc".$pass."xsxsxsr";
    19.  
    20.    $result = mysql_query("SELECT * FROM reg_user WHERE (login = '$login' OR email = '$login') AND pass = '$pass'",$link);
    21.  
    22. If (mysql_num_rows($result) > 0)
    23. {
    24.     $row = mysql_fetch_array($result);
    25.  
    26.     echo 'yes_auth';
    27.  
    28. }else
    29. {
    30.     echo 'no_auth';
    31. }
    32.  
    33. ?>
     
    #1 Михаил_Влад, 8 фев 2017
    Последнее редактирование модератором: 8 фев 2017
  2. san4ez

    san4ez Активный пользователь

    С нами с:
    13 авг 2016
    Сообщения:
    331
    Симпатии:
    47
    а в запросе к базе уверен?
    --- Добавлено ---
    $str = "login=111111111&pass=11111111";
    ...
    data: $str,
    вот этого не понял
     
    Михаил_Влад нравится это.
  3. Sergey_Tsarev

    Sergey_Tsarev Активный пользователь

    С нами с:
    17 мар 2016
    Сообщения:
    502
    Симпатии:
    105
    Код (Javascript):
    1. $(document).ready(function() {
    2.                 $("#load").bind("click",function(){
    3.                     var login = '111111111';
    4.                     var pass = '11111111';
    5.                     $.ajax({
    6.                         url:"content.php",
    7.                         type:"POST",
    8.                         data: {'login':login, 'pass':pass},
    9.                         dataType:"html",
    10.                         beforeSend:funcBefore(),
    11.                         success: function (response) {
    12.                         funcSuccess (response);
    13.                         }
    14.                     });
    15.                 });
    16.             });
    В JS переменные задаются ключевым словом var имя_переменной.

    И вместо mysql лучше используй mysqli.

    И почитай про хэширование пароля.

    https://php.ru/manual/faq.passwords.html
     
    #3 Sergey_Tsarev, 8 фев 2017
    Последнее редактирование: 8 фев 2017
    Fell-x27 и Михаил_Влад нравится это.
  4. san4ez

    san4ez Активный пользователь

    С нами с:
    13 авг 2016
    Сообщения:
    331
    Симпатии:
    47
    только почитай в документации отличия
     
    Михаил_Влад нравится это.
  5. Михаил_Влад

    Михаил_Влад Новичок

    С нами с:
    4 фев 2017
    Сообщения:
    36
    Симпатии:
    1
    PHP:
    1. <?php
    2.  
    3. $db_host = "localhost";
    4. $db_user = "admin";
    5. $db_pass ="123456";
    6. $db_database="db_my";
    7.  
    8. $link = mysql_connect($db_host,$db_user,$db_pass);
    9. mysql_select_db($db_database,$link) or die("Нет соединения с БД").mysql_error();
    10. mysql_query("SET CHARACTER SET cp1251");
    11.  
    12.  
    13. $login = $_POST["login"];
    14. $pass= $_POST["pass"];
    15. $pass   = md5($pass);
    16. $pass   = strrev($pass);
    17. $pass   = "dcdc".$pass."xsxsxsr";
    18.  
    19.    $result = mysql_query("SELECT * FROM reg_user WHERE (login = '$login' OR email = '$login') AND pass = '$pass'",$link);
    20.  
    21. If (mysql_num_rows($result) > 0)
    22. {
    23.     $row = mysql_fetch_array($result);
    24.  
    25.     echo 'yes_auth';
    26.  
    27. }else
    28. {
    29.     echo 'no_auth';
    30. }
    31.  
    32. ?>
    --- Добавлено ---

    Спасибо! Буду расти)!!!
    --- Добавлено ---
    возвращала с пробелами строку.... сравнил с тримом и поехало.... Спасибо вам еще раз
     
    #5 Михаил_Влад, 8 фев 2017
    Последнее редактирование модератором: 8 фев 2017
  6. san4ez

    san4ez Активный пользователь

    С нами с:
    13 авг 2016
    Сообщения:
    331
    Симпатии:
    47
    я один непонимаю, зачем в конце запроса mysql query стоит подключение $link?
     
  7. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Ты не не понимаешь, ты просто не читал доку. Опционально там можно было указывать коннект конкретный.
    --- Добавлено ---
    Автор, на какой версии PHP ты работаешь?
    mysql_ модуль уже лет 5 как deprecated, и php, начиная с 5.4 или 5.5, ругается на него. В PHP7 так оно вовсе выпилено.
     
  8. alexblack

    alexblack Старожил

    С нами с:
    20 янв 2016
    Сообщения:
    640
    Симпатии:
    381
    устаревший модуль + SQLinjection
    PHP:
    1. $login = $_POST["login"];
    2. $pass= $_POST["pass"];
     
  9. san4ez

    san4ez Активный пользователь

    С нами с:
    13 авг 2016
    Сообщения:
    331
    Симпатии:
    47
    я читал. и все равно не понимаю зачем... да я еще нуб...
    в смысле зачем он в этом коде...