За последние 24 часа нас посетили 17546 программистов и 1722 робота. Сейчас ищут 1842 программиста ...

Реализация авторизации HTML+php+MySQL

Тема в разделе "PHP для новичков", создана пользователем СергейЧИТА, 27 ноя 2014.

  1. dapperkop

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

    С нами с:
    26 сен 2013
    Сообщения:
    890
    Симпатии:
    0
    Если в хроме, то нужно открыть "Инструменты разработчика", затем перейти во вкладку "Network" и сделать свой запрос (как ты его делаешь? по кнопке жмакаешь или еще как, не важно...). В рабочей области вкладки "Network" появится твой запрос, жмакни на него - увидишь его детали. Так вот, блок Request - это те заголовки, которые были переданы серверу, а Response - заголовки, полученные от сервера. Это и есть "обмен" клиента и сервера.
     
  2. СергейЧИТА

    СергейЧИТА Новичок

    С нами с:
    4 ноя 2014
    Сообщения:
    123
    Симпатии:
    0
    REG.PHP
    А вот respons:
    Т.е. данные переданы и данные обработаны, только я не могу понять почему err=50!Почему если сервер понял, что id_fam=23, то по идее программа долдна была пройти через условный оператор if( isset ($_POST['fam'])){....} в скрипте reg.php, но по полученным заголовкам от сервера err=50 упорно(((
    P.S.
    Спасибо!Буду знать теперь, что имелось ввиду. Я просто узать стал firebug-он и для хрома и для файрфорса,оперы есть)но встроенный инструмент в хроме-вещь безусловно удобная)

    перефразируй, не совсем тебя понял если честно что имелось ввиду
     
  3. dapperkop

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

    С нами с:
    26 сен 2013
    Сообщения:
    890
    Симпатии:
    0
    Я немного непонятно объяснил.

    Ты открыл детали запроса. В них есть вкладки: headers, preview, response... Так вот, во вкладке headers: request headers - это заголовки запроса, а response headers - это заголовки ответа. Вкладка Response - это тело ответа.
     
  4. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    что пока ты пишешь программу у тебя должен быть включен максимальный уровень отладки. чтоб если что-то не так - пых бросался предупреждениями. чтоб осталось только проверять логику работы. и если что-то работает неожиданно - дебажить конкретные значения в конкретных кусках алгоритма.
     
  5. СергейЧИТА

    СергейЧИТА Новичок

    С нами с:
    4 ноя 2014
    Сообщения:
    123
    Симпатии:
    0
    вот
     
  6. dapperkop

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

    С нами с:
    26 сен 2013
    Сообщения:
    890
    Симпатии:
    0
    Твоя функция success не может получить data.res, data.err или data.usl, поскольку от сервера пришли данные не json.

    Добавлено спустя 28 секунд:
    Я об этом.
     
  7. СергейЧИТА

    СергейЧИТА Новичок

    С нами с:
    4 ноя 2014
    Сообщения:
    123
    Симпатии:
    0
    E_ALL-это константа.
    Т.е. мне синтаксически можно вот так делать?:
    $out['err']=$_E_ALL

    и тогда будет показаны все ошибки мельчайшие самим пыхом?

    Добавлено спустя 3 минуты 1 секунду:
    не могу понять почему на JSON приходит тогда?(((
    я вот в reg.php выдаю уже результат через функцию json_encode

    вот так:
    Код (PHP):
    1. ...
    2. $out=array();
    3.  
    4. $out['res']=$res;;
    5. $out['err']=$err;
    6. $out['usl']=$usl;
    7.  
    8. echo json_encode($out);
    9. ...
    вот ещё раз листинг моего reg.php, чтобы путаницы не получилось:
    Код (PHP):
    1.  <?php
    2.     $res=30;
    3.     $err=50;
    4.     $usl=$_POST['fam'];
    5.         if( isset ($_POST['fam']))
    6.         {
    7.             $ffam=$_POST['fam'];
    8.             if(preg_match('/\W/iu',$ffam)) 
    9.             {
    10.                 //echo "Введите Фамилию корректно", "ffam";
    11.                 $err=1;
    12.             } 
    13.             else 
    14.             {
    15.                 //echo'Норм все.';
    16.                 if( isset ($_POST['im']))
    17.                 {
    18.                     $fim=$_POST['im'];
    19.                     if(preg_match('/\W/iu',$fim)) 
    20.                     {
    21.                         //echo "Введите Имя корректно", "fim";
    22.                         $err=2;
    23.                     } 
    24.                     else 
    25.                     {
    26.                         //echo'Норм все.';
    27.                         
    28.                         if( isset ($_POST['otch']))
    29.                         {
    30.                             $fotch=$_POST['otch'];
    31.                             if(preg_match('/\W/iu',$fotch)) 
    32.                             {
    33.                                 //echo "Введите Отчество корректно", "fotch";
    34.                                 $err=3;
    35.                             } 
    36.                             else 
    37.                             {
    38.                                 //echo'Норм все.';
    39.                                 if( isset ($_POST['loginuser2']))
    40.                                 {
    41.                                     $flogin=$_POST['loginuser2'];
    42.                                     if(preg_match('/\W/iu',$flogin)) 
    43.                                     {
    44.                                         //echo "Введите login корректно", "login";
    45.                                         $err=4;
    46.                                     } 
    47.                                     else 
    48.                                     {
    49.                                         //echo'Норм все.';
    50.                                         if( isset ($_POST['passworduser2']))
    51.                                         {
    52.                                             $fpassworduser=$_POST['passworduser2'];
    53.                                             if(preg_match('/\W/iu',$fpassworduser)) 
    54.                                             {
    55.                                                 //echo "Введите Пароль корректно", "fpassworduser";
    56.                                                 $err=5;
    57.                                             } 
    58.                                             else 
    59.                                             {
    60.                                                 //echo'Норм все.';
    61.                                                 $db1=mysqli_connect("localhost","dbuser","passwd","db");
    62.                                                 if (!$db1)
    63.                                                 {
    64.                                                     //echo "Извините Фамилия Имя Отчество не зарегистрировались в БД, попробуйте ещё раз";
    65.                                                     $err=33;
    66.                                                 } 
    67.                                                 $query1="INSERT INTO `db`.`sotrud` (`Fam`, `Im`, `Och`, `konttel`, `adres`, `poslrab`, `rozhdata`, `Emailsotr`) VALUES ('$ffam', '$fim', '$fotch', '212121', 'Россия', 'IT-отдел', '2014-11-11', 'ivmail@email.ru')";
    68.                                                 $result=mysqli_query($db1,$query1);
    69.                                                 $query12="INSERT INTO `db`.`audit` (`login`, `passworduser`) VALUES ('$flogin', '$fpassworduser')";
    70.                                                 $result12=mysqli_query($db1,$query12);
    71.                                                 if (!$result)
    72.                                                 {
    73.                                                     //echo "Извините Фамилия Имя Отчество не зарегистрировались в БД, попробуйте ещё раз";
    74.                                                     //$err=$query1;
    75.                                                     $err=6;
    76.                                                 } 
    77.                                                 else 
    78.                                                 {
    79.                                                     if (!$result12)
    80.                                                     {
    81.                                                         //echo "Извините Логин и пароль не зарегистрировались в БД, попробуйте ещё раз";
    82.                                                         $err=7;
    83.                                                     }
    84.                                                     else 
    85.                                                     {
    86.                                                     $res=1;
    87.                                                     }
    88.                                                     
    89.                                                 }
    90.                                                 mysqli_close($db1);
    91.                                             }
    92.                                         }
    93.                                     }
    94.                                 }
    95.                             }
    96.                         }
    97.                     }
    98.                 }
    99.             }
    100.         }
    101.     //}
    102.  
    103. $out=array();
    104.  
    105. $out['res']=$res;;
    106. $out['err']=$err;
    107. $out['usl']=$usl;
    108.  
    109. echo json_encode($out);
    110.  
    111.  ?>
     
  8. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    чувак ты издеваешься? ну хер с тобой что ты сразу в бой. но если тебе говорят выставить журналирование то если ты не знаешь но прикидываешься умным - пойти погуглить куда константу е_ол пихать чтоб журналирование стало правильным. и не подумай что я тебя пытаюсь запутать. ты пытаешься быть умным и я просто общаюсь с тобой на том уровне знаний которыми ты обязан обладать раз ты взялся за алгоритмы подобной сложности. ок? я ж не виноват что ты будучи нифига не понимающим и с кашей в голове до сих пор пытаешься писать серьезные проекты.
     
  9. dapperkop

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

    С нами с:
    26 сен 2013
    Сообщения:
    890
    Симпатии:
    0
    Ты где-то еще с помощью print_r печатаешь какой-то массив. А парсер js не может спарсить твой ответ.

    Добавлено спустя 53 секунды:
    Он может спарсить вот это:
    Код (Text):
    1.  
    2. {"res":1,"err":50,"usl":"23"}
    Но не может спарсить это:
    Код (Text):
    1.  
    2. Array
    3. (
    4. [fam] => 23
    5. [im] => 56
    6. [otch] => 5345
    7. [loginuser2] => 33
    8. [passworduser2] => 44
    9. )
     
  10. СергейЧИТА

    СергейЧИТА Новичок

    С нами с:
    4 ноя 2014
    Сообщения:
    123
    Симпатии:
    0
    понял.буду иметь виду в будущем
    Да нет..всё ровно...я так не считаю...просто пытаюсь начитаться так сказать да и цель уже хочется если честно добиться, чтобы хоть какой-то результат был наглядный....а так мне пока наоборот всё нравится)php-очень интересный язык я думаю

    Добавлено спустя 8 минут 57 секунд:
    убрал print. Запустил сайт..кнопка-регистрация...заполнил поля-нажал на кнопку Отправить...получил aler'ом res=посмотрел в обмене, на что получил alert'ом RES=1, ERR=50, USL=23
    во вкладке headers
    на вкладке Response
    Ну почему я получаю ERR=50????почему программа не заходит в условный оператор,хотя данные через post она получила???
     
  11. dapperkop

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

    С нами с:
    26 сен 2013
    Сообщения:
    890
    Симпатии:
    0
    Тебе после отправки должны вывалиться три алерта: 1, 50, 23... Так?
    Ща разберемся не сцы.
     
  12. metadon

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

    С нами с:
    6 фев 2006
    Сообщения:
    779
    Симпатии:
    0
    СергейЧИТА перепиши всё с нуля, но каждый шаг перепроверяй, чтобы увидеть всё ли работает так как ты запланировал.
     
  13. dapperkop

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

    С нами с:
    26 сен 2013
    Сообщения:
    890
    Симпатии:
    0
    Ну так всеж правильно, ты вначале объявил $err = 50; Затем, по условиям твоего кода, ошибок не возникало. Соответственно, значение переменной $err не переписывалось. В конце, ты $err = 50 вставил в массив и получил его на выходе. Все логично. Систему с ошибками у кого подсмотрел, признавайся... =)
     
  14. СергейЧИТА

    СергейЧИТА Новичок

    С нами с:
    4 ноя 2014
    Сообщения:
    123
    Симпатии:
    0
    Блин)точно))у меня уже просто под вечер глаза замылились...я же специально ещё присваивал условные коды, чтобы понять как и где вылетает))Спасибо!)
    Данные в базу сначала не записались, но вывел в reg.php
    $err=''.$query1;
    т.е. в текстовом вариант какой sql-запрос получился и в явном виде увидел синтаксическую ошибку sql, подправил и аля))всё получилось))

    Так что всё отл)теперь только подвязать номер тел или e-mail при регистрации, но это уже сл этап)
    Сейчас же небольшой казус....там где тренировался-хостинг оказался немецкий и сервера там...а какой-то слышал закон вышел мол если оперируешь персональными данными(а как мне известно ФИЛ, номер тел, адрес и т.п.)являются так таковыми, но хранение должно быть на серверах,которые находятся на территории РФ((вот вроде только всё заработало...буду теперь переезжать((и восстанавливать функционирование то, что сейчас достиг)хоть небольшой, но результат)Спасибо всем за помощь практическую!)Но я не останавливаюсь, буду дальше читать и использовать в разработке приложения)
    Закрываю тему)