За последние 24 часа нас посетили 31747 программистов и 1408 роботов. Сейчас ищут 1033 программиста ...

Php обработчик

Тема в разделе "PHP для новичков", создана пользователем Danil005, 7 июл 2017.

  1. Danil005

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

    С нами с:
    2 янв 2015
    Сообщения:
    528
    Симпатии:
    30
    Впрочем появилась проблема в том, что я не могу обработать данные со стороны севера.
    Код (Javascript):
    1. function ajax($action, $url, $form, $NAMEbutton, $header, $dataType='json', $typeOn='click', $typeSend='POST') {
    2.   $("[data-action='"+$action+"']").on( $typeOn, function() {
    3.    
    4.     $("[data-action='"+$action+"']").attr('disabled', true);
    5.     $("[data-action='"+$action+"']").html(load_icon);
    6.                 jQuery.ajax({
    7.                     url:      $url,
    8.                     type:     $typeSend,
    9.                     dataType: $dataType,
    10.                     data: jQuery($form).serialize(),
    11.                     success: function(response) {
    12.                     if( $dataType == 'json' ) {
    13.                       if( response.type == 'error' ) {notification(response.info, response.type, 5000);} else {
    14.                           notification(response.info, response.type, 5000);
    15.                           if( $header != '') {
    16.                               $(location).attr("href", $header);
    17.                           }
    18.                       }
    19.                     } else {
    20.                       notification(response, 'info', 5000);
    21.                     }
    22.  
    23.                     var ti=setInterval(function() {
    24.                     $("[data-action='"+$action+"']").text($NAMEbutton);
    25.                     $("[data-action='"+$action+"']").removeAttr('disabled', true);
    26.                     clearInterval(ti);
    27.                     }, 3000);
    28.                    
    29.                 },
    30.                 error: function(response) {
    31.                    notification('Внутренняя ошибка. (Reason: '+response+')', 'error', 5000);
    32.                 }
    33.              });
    34.    });
    35. }
    36. ajax('save_aboutme', '/system/ajaxs/ajax_save_aboutme.php', '#about_me', 'Сохранить', '', 'html');
    HTML:
    1. <form id="ambe">
    2.                                       <textarea id="ckeditor" placeholder="Введите полное описание"><?=$user->get_mysql_social('about_me');?></textarea>
    3.                                       <textarea hidden="" name="abmetext" id="text"></textarea>
    4.                                       <input type="text" name="admin">
    5.                                       <button type="button" class="btn bg-green btn-block waves-effect" data-action="save_aboutme">Сохранить</button>
    6.                                       </form>
    PHP:
    1. <?//AJAX SAVE ABOUTME FILE;
    2. include($_SERVER['DOCUMENT_ROOT'].'/system/engine.php');
    3.  
    4. if( $ajax ) {
    5.   $user->ajax_save_aboutme(
    6.  
    7.         $module->xss($_POST['abmetext'])
    8.      
    9.       );
    10.   echo $_POST['admin'];
    11. }
     
  2. denis01

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

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Проведи отладку PHP и определи какие данные приходят и их формат

    отладка/debug
    http://phpfaq.ru/debug
    https://netbeans.org/kb/docs/php/debugging_ru.html
    https://php.ru/forum/threads/howto-...i-po-shagam-i-s-kartinkami.58974/#post-474550
     
    Danil005 нравится это.
  3. Danil005

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

    С нами с:
    2 янв 2015
    Сообщения:
    528
    Симпатии:
    30
    Notice: Undefined index: abmetext in E:\Server\OpenServer\domains\site.local\system\ajaxs\ajax_save_aboutme.php on line 9

    Notice: Undefined index: admin in E:\Server\OpenServer\domains\site.local\system\ajaxs\ajax_save_aboutme.php on line 12
    --- Добавлено ---
    Я не понимаю, почему не видит...
    --- Добавлено ---
    Все остальные ajax запросы работаю, а именно этот не воспринимает.
    --- Добавлено ---
    var_dump($_POST); выдает пустой массив.
     
  4. Danil005

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

    С нами с:
    2 янв 2015
    Сообщения:
    528
    Симпатии:
    30
    Все решил, проблема не Jquery и не в PHP, проблема в банальной HTML-разметке. Я просто не закрыл предыдущий <form> :)
    Но debug полезная статья.
     
    denis01 нравится это.