Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.02.2017, 22:19
Интересующийся
Отправить личное сообщение для jess23 Посмотреть профиль Найти все сообщения от jess23
 
Регистрация: 03.09.2015
Сообщений: 10

После проверки js выполнить php код
Помогите пожалуйста разобраться.

Есть функция которая отправляет форму и выводит финальное success сообщение о том, что данные отправлены, если что не так выводит сообщение о ошибке, мне нужно выполнить php код если форма успешно отправилась.

Собственно сам фрагмент проверки нажатия на кнопку:
$('#popup-checkout-button').on('click', function() {
  masked('#popup-purchase-wrapper', true);
  $.ajax({
      type: 'post',
      url:  'index.php?route=module/popup_purchase/make_order',
      dataType: 'json',
      data: $('#purchase-form').serialize(),
      success: function(json) {


        if (json['error']) {
          if (json['error']['field']) {
            masked('#popup-purchase-wrapper', false);
            $('.text-danger').remove();
            $.each(json['error']['field'], function(i, val) {
              $('[name="' + i + '"]').addClass('error_style').after('<div class="text-danger">' + val + '</div>');
            });
          }

        } else {
          if (json['output']) {

            masked('#popup-purchase-wrapper', false);
             $('#popup-checkout-button').remove();
                $('#popup-purchase-wrapper .popup-center').html(json['output']); 

          }
        }
      }
  });
});


Собственно вот здесь: $('#popup-purchase-wrapper .popup-center').html(json['output']);
вызывается json['output'] который в контроллере просто прописан таким образом: $json['output'] = $this->language->get('text_success_order'); подгружает финальное сообщение.

Мне нужно когда форма успешна, выполнить php код:
$client_id = '1';
$client_total = '3';
$client_order_id = '2';
if (isset($_COOKIE["uid"]) && isset($_COOKIE["utm_source"]) && $_COOKIE["utm_source"] == "somecpa") {
    echo '<img src="https://somecpa.com/reg.php?id='.$_COOKIE["uid"].'-'.$client_id.'_'.$client_total.'&client_order_id='.$client_order_id.'" width="1" height="1" alt="" />';
}


Подскажите, как правильно это сделать, чтобы если форма правильная, выполнялся выше указанный фрагмент php кода...
Ответить с цитированием
  #2 (permalink)  
Старый 18.02.2017, 04:43
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от jess23
если форма правильная, выполнялся выше указанный фрагмент php
Вообще-то серверу, не зависимо на чем он разговаривает, на РНР ли, или на другом языке, ровным счетом наплевать что думает клиент по подводу формы, правильная она или нет. Проверка форм на клиенте, это сервис для клиента, а проверка форм на сервере, это его святая обязанность. Клиент отдал форму серверу, и не зависимо от того что там проверялось на клиенте, сервер проверил ее данные согласно требованию и принял решение.

Какие проблемы могут быть при этом, выполнять чего-то или нет?
Ответить с цитированием
  #3 (permalink)  
Старый 18.02.2017, 20:50
Интересующийся
Отправить личное сообщение для jess23 Посмотреть профиль Найти все сообщения от jess23
 
Регистрация: 03.09.2015
Сообщений: 10

Дело в том, что при выводе финального success сообщения (вот здесь: $('#popup-purchase-wrapper .popup-center').html(json['output']);
), я должен сгенерировать и передать ссылку (данная процедура описана на php), может вы подскажите как это сделать?
Ответить с цитированием
  #4 (permalink)  
Старый 18.02.2017, 21:12
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от jess23
Дело в том, что при выводе финального success
Причем тут success?
Ответить с цитированием
  #5 (permalink)  
Старый 18.02.2017, 22:21
Интересующийся
Отправить личное сообщение для jess23 Посмотреть профиль Найти все сообщения от jess23
 
Регистрация: 03.09.2015
Сообщений: 10

Сообщение от laimas Посмотреть сообщение
Причем тут success?
Притом, что выполнить php фрагмент нужно только когда будет success сообщение на форме.
Ответить с цитированием
  #6 (permalink)  
Старый 18.02.2017, 22:30
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от jess23
Притом, что выполнить php фрагмент нужно только когда будет success сообщение на форме.
А метод success значит принадлежит дядюшке Хо? )

success - это результат запроса севера методом $.ajax, и он хрен отработает, пока сервер не вернет данные для него, вот тут success: function(json).

Надо ли еще пояснять что сервер уже знает, что клиент отработал? Или вам от клиента еще и подтверждение нужно что посылка пришла? Ну так до бесконечности можно опрашивать.
Ответить с цитированием
  #7 (permalink)  
Старый 19.02.2017, 12:34
Интересующийся
Отправить личное сообщение для jess23 Посмотреть профиль Найти все сообщения от jess23
 
Регистрация: 03.09.2015
Сообщений: 10

laimas,

Вообщем толку от ваших ответов нету никакого... Пожалуйста, перестаньте следить за данной темой.
Ответить с цитированием
  #8 (permalink)  
Старый 19.02.2017, 14:09
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Да ити вашу мать. Не знает сервер нихрена о клиенте. Надо чтобы тютя в тютю - ставьте значит куки не сервером а клиентом.
Просто хочется после ..., но сервером, значит после выполнения операций в success: function(json) отправляйте ajax запрос извещающий сервер.

Совсем уже охренели, серверу и так известно, что сделано, нет надо еще нагородить костылей, которых сами же и не понимают.
Ответить с цитированием
  #9 (permalink)  
Старый 19.02.2017, 15:38
Интересующийся
Отправить личное сообщение для jess23 Посмотреть профиль Найти все сообщения от jess23
 
Регистрация: 03.09.2015
Сообщений: 10

laimas,

Вообщем, лол. Я просил помощи разобраться с этим, а не выделываться.
Ответить с цитированием
  #10 (permalink)  
Старый 19.02.2017, 16:10
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от jess23
Вообщем, лол. Я просил помощи разобраться с этим, а не выделываться.
А что мне разбираться то, я черным по белому написал - либо куки устанавливает клиент, либо после обработки ответа еще один ajax запрос сообщающий северу об этом. Или вы думаете, что есть волшебный способ догадаться серверу об этом? Тоже мне, блин, не лол.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как подгрузить код JS динамически? zhurchik Общие вопросы Javascript 22 02.02.2015 14:16
Переменная php -> параметр функции JS allie Общие вопросы Javascript 3 30.09.2011 10:11
JS + php возврат информации Phantom Общие вопросы Javascript 1 28.09.2011 17:53
проверка форм с помощиью php и js fizichello Общие вопросы Javascript 2 10.11.2009 03:31
Выполнить код после загрузки изображения EugenyK Events/DOM/Window 2 15.07.2008 10:09