Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Не работает функция в форме [3]
Форумы портала PHP.SU » » Вопросы новичков » Не работает функция в форме

Страниц (4): « 1 2 [3] 4 »
 

31. rasl89 - 14 Октября, 2020 - 20:02:07 - перейти к сообщению
Цитата:
Для начала попробуйте заменить <?php _e("Submit Project", ET_DOMAIN); ?> на Submit Project и затем разобраться с этой функцией.
Удачи!


Действительно, попробовал, но не помогло
(Добавление)
Цитата:
функция _e("Submit Project", ET_DOMAIN) не работает - возвращает пустую строку.
Для начала попробуйте заменить <?php _e("Submit Project", ET_DOMAIN); ?> на Submit Project и затем разобраться с этой функцией.
Удачи!


хотя нет, метка добавляется без функции, но картинка такая:
PHP:
скопировать код в буфер обмена
  1. array (size=7)
  2.   'project_category' => string '307' (length=3)
  3.   'post_title' => string 'Тест тегов 45' (length=22)
  4.   'post_content' => string '' (length=0)
  5.   'addtags' => string '45' (length=2)
  6.   'et_budget' => string '41' (length=2)
  7.   'milestone-input' => string '' (length=0)
  8.   'submit' => string '' (length=0)

(Добавление)
но это если при условии что у меня в конце формы:

PHP:
скопировать код в буфер обмена
  1.             var_dump($_POST);
  2.             die;
  3.             ?>
  4.         </form>


если это убрать и нажать на кнопку, то меток нет
32. Vladimir Kheifets - 15 Октября, 2020 - 07:36:22 - перейти к сообщению
rasl89 пишет:
Цитата:
Для начала попробуйте заменить <?php _e("Submit Project", ET_DOMAIN); ?> на Submit Project и затем разобраться с этой функцией.
Удачи!


Действительно, попробовал, но не помогло
(Добавление)
Цитата:
функция _e("Submit Project", ET_DOMAIN) не работает - возвращает пустую строку.
Для начала попробуйте заменить <?php _e("Submit Project", ET_DOMAIN); ?> на Submit Project и затем разобраться с этой функцией.
Удачи!


хотя нет, метка добавляется без функции, но картинка такая:
PHP:
скопировать код в буфер обмена
  1. array (size=7)
  2.   'project_category' => string '307' (length=3)
  3.   'post_title' => string 'Тест тегов 45' (length=22)
  4.   'post_content' => string '' (length=0)
  5.   'addtags' => string '45' (length=2)
  6.   'et_budget' => string '41' (length=2)
  7.   'milestone-input' => string '' (length=0)
  8.   'submit' => string '' (length=0)

(Добавление)
но это если при условии что у меня в конце формы:

PHP:
скопировать код в буфер обмена
  1.             var_dump($_POST);
  2.             die;
  3.             ?>
  4.         </form>


если это убрать и нажать на кнопку, то меток нет

Вы проверили, как работает скрипт в новом окне.
Однако Вам нужно справиться с Вашим кодом и следует вернуть назад form и убрать input submit.
Теперь, попробуйте проверить кнопку Submit Project и функцию _e("Submit Project", ET_DOMAIN);
var_dump должен показать не 'submit' => string '' , а 'submittag' => string 'Submit Project'
Удачи!
33. rasl89 - 17 Октября, 2020 - 21:07:46 - перейти к сообщению
Цитата:
Вы проверили, как работает скрипт в новом окне.
Однако Вам нужно справиться с Вашим кодом и следует вернуть назад form и убрать input submit.
Теперь, попробуйте проверить кнопку Submit Project и функцию _e("Submit Project", ET_DOMAIN);
var_dump должен показать не 'submit' => string '' , а 'submittag' => string 'Submit Project'
Удачи!


Странно, выдало:
Цитата:
array (size=7)
'project_category' => string '336' (length=3)
'post_title' => string 'Тест тегов 49' (length=22)
'post_content' => string 'Тест тегов 49' (length=22)
'addtags' => string '49' (length=2)
'et_budget' => string '46' (length=2)
'milestone-input' => string '' (length=0)
'submittag' => string '' (length=0)


метка добавилась

но это при условии что работа скрипта обрывалась:
PHP:
скопировать код в буфер обмена
  1.             var_dump($_POST);
  2.             die;
  3.             ?>
  4.         </form>


если же это убрать из кода:
PHP:
скопировать код в буфер обмена
  1.             var_dump($_POST);
  2.             die;
  3.             ?>
  4.         </form>


то метка не добавляется
34. Vladimir Kheifets - 18 Октября, 2020 - 14:02:02 - перейти к сообщению
rasl89 пишет:

Странно, выдало:
PHP:
скопировать код в буфер обмена
  1. array (size=7)
  2.   'project_category' => string '336' (length=3)
  3.   'post_title' => string 'Тест тегов 49' (length=22)
  4.   'post_content' => string 'Тест тегов 49' (length=22)
  5.   'addtags' => string '49' (length=2)
  6.   'et_budget' => string '46' (length=2)
  7.   'milestone-input' => string '' (length=0)
  8.   'submittag' => string '' (length=0)
...метка добавилась
если же это убрать из кода:

то метка не добавляется


Если убрать var_dump($_POST); результат будет такой же.
Попробуйте оставить только die. Влияет, то что это функция эквивалентна exit - обе прерывают выполнение php-кода.
Посмотрите html в консоле браузера.
С 'submittag' => string '' (length=0) не понятно. Вы заменяли в кнопке функцию на строку "Submit Project"?
35. rasl89 - 18 Октября, 2020 - 21:50:47 - перейти к сообщению
Цитата:
С 'submittag' => string '' (length=0) не понятно. Вы заменяли в кнопке функцию на строку "Submit Project"?


заменял, никакого эффекта

Цитата:
Попробуйте оставить только die. Влияет, то что это функция эквивалентна exit - обе прерывают выполнение php-кода.
Посмотрите html в консоле браузера.


ничего не фиксируется, выложил скрин фиксации без die, это все что зафиксировалось
36. Vladimir Kheifets - 19 Октября, 2020 - 07:36:26 - перейти к сообщению
rasl89 пишет:
Цитата:
С 'submittag' => string '' (length=0) не понятно. Вы заменяли в кнопке функцию на строку "Submit Project"?

заменял, никакого эффекта
Цитата:
Попробуйте оставить только die. Влияет, то что это функция эквивалентна exit - обе прерывают выполнение php-кода.
Посмотрите html в консоле браузера.

ничего не фиксируется, выложил скрин фиксации без die, это все что зафиксировалось


Нужно разбираться с html->jQuery
Вы наврядли изменяли jQuery-код, а прототип, который Вы применили был рабочим.
Или?
Попробуйте разобраться с html-кодом, который отправляет в браузер php-скрипт.
Его нужно посмотреть в консоле браузера(не в закладке html).
Попробуйте в Chrome.
Необходимо проверить не развалиается структура html, все ли тэги закрыты. Затем проверить селекторы в jQuery, которые могут влиять на результат.
Обратите внимание на соответствие названия классов в html тэгах и в селекторax jQuery.
Начните с
CODE (html):
скопировать код в буфер обмена
  1. <button class="fre-btn fre-post-project-next-btn primary-bg-color" type="submit" name="submittag">
37. rasl89 - 19 Октября, 2020 - 19:26:30 - перейти к сообщению
Цитата:
Его нужно посмотреть в консоле браузера(не в закладке html).
Попробуйте в Chrome.

так я же смотрел, скрин вложил
(Добавление)
Что касаемо:
Цитата:
Затем проверить селекторы в jQuery, которые могут влиять на результат.
Обратите внимание на соответствие названия классов в html тэгах и в селекторax jQuery.

их не так много,и вот что я нашел по отношению к этому:
селектор fre-post-project-next-btn
CODE (javascript):
скопировать код в буфер обмена
  1.                 // $('.fre-post-project-next-btn').on('click', function(ev) {
  2.                 //      ev.preventDefault();
  3.                 //      var target = ev.currentTarget;
  4.                 //      $(target).closest('.fre-post-project-step').removeClass('active');
  5.                 //      $(target).closest('.fre-post-project-step').next().addClass('active');
  6.                 // });
  7.                 // $('.fre-post-project-previous-btn').on('click', function(ev) {
  8.                 //      ev.preventDefault();
  9.                 //      var target = ev.currentTarget;
  10.                 //      $(target).closest('.fre-post-project-step').removeClass('active');
  11.                 //      $(target).closest('.fre-post-project-step').prev().addClass('active');
  12.                 // });


селектор fre-btn
CODE (javascript):
скопировать код в буфер обмена
  1.                         submitGDPR: function(event){
  2.                                 event.preventDefault();
  3.                                 var form = $(event.currentTarget),
  4.                                         data = {},
  5.                                         button = form.find('.fre-btn'),
  6.                                         blockUi = new AE.Views.BlockUi(),
  7.                         view = this;
  8.  
  9.                     form.find('input, textarea').each(function() {
  10.  
  11.                        data[$(this).attr('name')] = $(this).val();
  12.  
  13.                     });
  14.                     $.ajax({
  15.                     type: "post",
  16.                     url: ae_globals.ajaxURL,
  17.                     dataType: 'json',
  18.                     data: {
  19.                         data: data,
  20.                         action: 'ae-submit-gdpr',
  21.                     },
  22.                     beforeSend: function () {
  23.                         blockUi.block(button);
  24.                         form.addClass('processing');
  25.                     },
  26.                     success: function (data, status, xhr) {
  27.  
  28.                         blockUi.unblock();
  29.  
  30.                         if (data.success) {
  31.                                 AE.pubsub.trigger('ae:notification', {
  32.                                 msg: data.msg,
  33.                                 notice_type: 'success'
  34.                             });
  35.                         } else{
  36.                                 AE.pubsub.trigger('ae:notification', {
  37.                                 msg: data.msg,
  38.                                 notice_type: 'error'
  39.                             });
  40.                         }
  41.                     }
  42.                 });
  43.                     return false;
  44.                         },
38. LIME - 19 Октября, 2020 - 22:32:47 - перейти к сообщению
бред какой-то
давно уже выяснили что POST нормально прилетает, а они все клиент ковыряют... не закончится это добром))
39. Vladimir Kheifets - 22 Октября, 2020 - 07:22:05 - перейти к сообщению
LIME пишет:
бред какой-то
давно уже выяснили что POST нормально прилетает, а они все клиент ковыряют... не закончится это добром))

POST нормально НЕ прилетает см. var_dump 'submittag' => string '' (length=0)
прилетало номально, когда заменили
CODE (html):
скопировать код в буфер обмена
  1. <form class="post" method="post" target="_blank">
  2. .......
  3. .......
  4. <input type="submit" name="submin" value="Submit">

(Добавление)
rasl89 пишет:
их не так много,и вот что я нашел по отношению к этому:
селектор fre-post-project-next-btn
Спойлер (Отобразить)

селектор fre-btn
Спойлер (Отобразить)

Добрый день!
По первому фрагменту. Селектор .fre-post-project-next-btn не работает (стр. 1-12 закомментированы).
По второму фрагменту с BlockUi. Обратите внимание на
CODE (javascript):
скопировать код в буфер обмена
  1. form.find('input, textarea').each(function() {
  2. data[$(this).attr('name')] = $(this).val();
  3. });

в 'input, textarea' не хватает button.
Поэтому "POST прилетает" с 'submittag' => string '' (length=0)
Попробуйте изменить так
CODE (javascript):
скопировать код в буфер обмена
  1. form.find('input, textarea, button').each(function() {
Удачи!
40. LIME - 22 Октября, 2020 - 11:26:49 - перейти к сообщению
Vladimir Kheifets пишет:
POST нормально НЕ прилетает см. var_dump 'submittag' => string '' (length=0)
прилетало номально, когда заменили
и что? проверяется isset и неважно что там не работает переводчик
не то чините, фиксики))
но продолжайте, не отвлекаю
надо же не сдаваться))
41. rasl89 - 22 Октября, 2020 - 20:20:06 - перейти к сообщению
Vladimir Kheifets пишет:
LIME пишет:
бред какой-то
давно уже выяснили что POST нормально прилетает, а они все клиент ковыряют... не закончится это добром))

POST нормально НЕ прилетает см. var_dump 'submittag' => string '' (length=0)
прилетало номально, когда заменили
CODE (html):
скопировать код в буфер обмена
  1. <form class="post" method="post" target="_blank">
  2. .......
  3. .......
  4. <input type="submit" name="submin" value="Submit">

(Добавление)
rasl89 пишет:
их не так много,и вот что я нашел по отношению к этому:
селектор fre-post-project-next-btn
Спойлер (Отобразить)

селектор fre-btn
Спойлер (Отобразить)

Добрый день!
По первому фрагменту. Селектор .fre-post-project-next-btn не работает (стр. 1-12 закомментированы).
По второму фрагменту с BlockUi. Обратите внимание на
CODE (javascript):
скопировать код в буфер обмена
  1. form.find('input, textarea').each(function() {
  2. data[$(this).attr('name')] = $(this).val();
  3. });

в 'input, textarea' не хватает button.
Поэтому "POST прилетает" с 'submittag' => string '' (length=0)
Попробуйте изменить так
CODE (javascript):
скопировать код в буфер обмена
  1. form.find('input, textarea, button').each(function() {
Удачи!


ничего не помогло(((
42. Vladimir Kheifets - 23 Октября, 2020 - 15:45:28 - перейти к сообщению
LIME пишет:
Vladimir Kheifets пишет:
POST нормально НЕ прилетает см. var_dump 'submittag' => string '' (length=0)
прилетало номально, когда заменили
и что? проверяется isset и неважно что там не работает переводчик
не то чините, фиксики))
но продолжайте, не отвлекаю
надо же не сдаваться))

isset проверяется, верно, но внутри черный ящик - функция wp_set_post_tags, которая должна добавлять tags, но не дабавляет.
А чтобы, добавить или изменить что-то в DOMе, предположительно, в этом черном ящике отработывает jQuery/Ajax.
Проверили, js эта пусташка не мешает.
Надо бурить дальше.
"Не сдаваться и доводить начатое до конца" - было написано для rasl89.

rasl89 пишет:
ничего не помогло(((

Вы писали, что метка добавилась с
Вам стало понятно, как это влияет на результат?
Посмотрели html?
Почему у Вас в wp_set_post_tags(2414,...) такой перый параметр?
Попробуйте посмотреть, что возвращает это функция.
PHP:
скопировать код в буфер обмена
  1. if (isset($_POST['submittag']) && isset($_POST['addtags']))
  2. {
  3.     $res = wp_set_post_tags(2414, $_POST['addtags'], true );
  4.         if(is_wp_error($res))
  5.         {
  6.                 $error_string = $res->get_error_message();
  7.                 echo $error_string;
  8.         }
  9. }
Удачи!
43. rasl89 - 23 Октября, 2020 - 20:05:30 - перейти к сообщению
Vladimir Kheifets пишет:
LIME пишет:
Vladimir Kheifets пишет:
POST нормально НЕ прилетает см. var_dump 'submittag' => string '' (length=0)
прилетало номально, когда заменили
и что? проверяется isset и неважно что там не работает переводчик
не то чините, фиксики))
но продолжайте, не отвлекаю
надо же не сдаваться))

isset проверяется, верно, но внутри черный ящик - функция wp_set_post_tags, которая должна добавлять tags, но не дабавляет.
А чтобы, добавить или изменить что-то в DOMе, предположительно, в этом черном ящике отработывает jQuery/Ajax.
Проверили, js эта пусташка не мешает.
Надо бурить дальше.
"Не сдаваться и доводить начатое до конца" - было написано для rasl89.

rasl89 пишет:
ничего не помогло(((

Вы писали, что метка добавилась с
Вам стало понятно, как это влияет на результат?
Посмотрели html?
Почему у Вас в wp_set_post_tags(2414,...) такой перый параметр?
Попробуйте посмотреть, что возвращает это функция.
PHP:
скопировать код в буфер обмена
  1. if (isset($_POST['submittag']) && isset($_POST['addtags']))
  2. {
  3.     $res = wp_set_post_tags(2414, $_POST['addtags'], true );
  4.         if(is_wp_error($res))
  5.         {
  6.                 $error_string = $res->get_error_message();
  7.                 echo $error_string;
  8.         }
  9. }
Удачи!


2414 - я просто напрямую вписал ID поста, чтобы в него записывались теги, можно там прописать $id и будет ид ткущего поста, это не критично
44. rasl89 - 23 Октября, 2020 - 22:44:21 - перейти к сообщению
Цитата:
PHP:
скопировать код в буфер обмена
  1.     if (isset($_POST['submittag']) && isset($_POST['addtags']))
  2.     {
  3.         $res = wp_set_post_tags(2414, $_POST['addtags'], true );
  4.             if(is_wp_error($res))
  5.             {
  6.                     $error_string = $res->get_error_message();
  7.                     echo $error_string;
  8.             }
  9.     }


так он ведь перезагрузит страницу я не увижу echo
45. Строитель - 23 Октября, 2020 - 22:53:44 - перейти к сообщению
rasl89
Изучите наконец основы языка
Радость

 

Powered by ExBB FM 1.0 RC1