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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Не работает функция в форме

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
rasl89
Отправлено: 05 Октября, 2020 - 20:02:29
Post Id



Гость


Покинул форум
Сообщений всего: 104
Дата рег-ции: Март 2020  
Откуда: Россия, Уфа


Помог: 1 раз(а)




Всем привет.
Есть такая форма с функцией:

CODE (html):
скопировать код в буфер обмена
  1. <form class="post" role="form">
  2.  
  3.                 <div class="fre-input-field">
  4.                     <label class="fre-field-title">Метатеги через запятую (не обязательно)</label>
  5.                     <input class="input-item text-field" type="text" name="addtags" value="<?= $addtags ?>">
  6.                 </div>
  7.  
  8.  
  9.                 <div class="fre-post-project-btn">
  10.                     <button class="fre-btn fre-post-project-next-btn primary-bg-color" type="submit" name="submittag"><?php _e("Submit Project", ET_DOMAIN); ?></button>
  11.                 </div>
  12.             </div>

PHP:
скопировать код в буфер обмена
  1.  
  2.             <?
  3.             if (isset($_POST['submittag']) && isset($_POST['addtags'])) {
  4.                 wp_set_post_tags($id, $_POST['addtags'], true );
  5.             }
  6.             ?>



т.е. если поле addtags заполнено и нажата кнопка submittag, то выполнить функцию wp_set_post_tags

что не так? не работает(
$id поста есть если что, просто тут не указал...самое условие не выполняется...

(Отредактировано автором: 05 Октября, 2020 - 20:03:42)

 
 Top
LIME
Отправлено: 05 Октября, 2020 - 21:27:30
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




а короткие теги точно разрешены?
 
 Top
rasl89
Отправлено: 06 Октября, 2020 - 21:56:45
Post Id



Гость


Покинул форум
Сообщений всего: 104
Дата рег-ции: Март 2020  
Откуда: Россия, Уфа


Помог: 1 раз(а)




LIME пишет:
а короткие теги точно разрешены?


даже и не с короткими не работает((
 
 Top
rasl89
Отправлено: 06 Октября, 2020 - 21:58:56
Post Id



Гость


Покинул форум
Сообщений всего: 104
Дата рег-ции: Март 2020  
Откуда: Россия, Уфа


Помог: 1 раз(а)




Приложил полный файл
Скачать файл: post-project-step3.php
Скачан раз: 50
 
 Top
Vladimir Kheifets
Отправлено: 07 Октября, 2020 - 09:19:07
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 879
Дата рег-ции: Март 2017  
Откуда: Германия, Бавария


Помог: 37 раз(а)




rasl89 пишет:
Приложил полный файл

Добрый день!
У Вас в тэге form нужно добавить атрибут method="post".
По умолчанию, как у Вас, method="get".
Удачи!
 
 Top
rasl89
Отправлено: 07 Октября, 2020 - 19:59:12
Post Id



Гость


Покинул форум
Сообщений всего: 104
Дата рег-ции: Март 2020  
Откуда: Россия, Уфа


Помог: 1 раз(а)




Vladimir Kheifets пишет:
rasl89 пишет:
Приложил полный файл

Добрый день!
У Вас в тэге form нужно добавить атрибут method="post".
По умолчанию, как у Вас, method="get".
Удачи!


Добрый день.
Да, действительно, но не помогло.
 
 Top
Vladimir Kheifets
Отправлено: 08 Октября, 2020 - 07:39:10
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 879
Дата рег-ции: Март 2017  
Откуда: Германия, Бавария


Помог: 37 раз(а)




rasl89 пишет:
Vladimir Kheifets пишет:
rasl89 пишет:
Приложил полный файл

Добрый день!
У Вас в тэге form нужно добавить атрибут method="post".
По умолчанию, как у Вас, method="get".
Удачи!


Добрый день.
Да, действительно, но не помогло.


Добрый день!
Тогда начнём с начала.
Вы задали вопрос - почему не работает функция?
Цитата:
<?
if (isset($_POST['submittag']) && isset($_POST['addtags']))
{
wp_set_post_tags($id, $_POST['addtags'], true );
}
?>

У Вас либо условие не выполняется т.е. не работает form submit, либо не работает функция.
Допустим, что у Вас error_reporting(E_ALL), в PHP нет ошибок и проблема с формой.
Вы вставляли print_r($_POST)?
Если окажется, что $_POST['addtags'] и.т.п не определены, то советую проверить:
1. action и target формы - куда на самом деле отправляются данные.
2. js-script - нет ли там addEventListener для тэга submit, например:
CODE (javascript):
скопировать код в буфер обмена
  1. var el=document.getElementsByTagName("submit")[0];
  2. el.addEventListener("click", FormValidation, false);
Если в js нет addEventListener, то можно попробовать добавить:
CODE (javascript):
скопировать код в буфер обмена
  1. <script>
  2. var el=document.getElementsByTagName("submit")[0];
  3. el.addEventListener("click", FormValidation, false);
  4. function FormValidation(){
  5. f=document.getElementsByTagName("form")[0];
  6. buf="action:"+f.action+"\n";
  7. buf+="target:"+f.target+"\n";
  8. n=f.elements.length;
  9. for(i=0; i<n; i++)
  10. {
  11.  buf+=i+":"+f.elements[i].name+":"+f.elements[i].value+"\n";
  12. }
  13. alert(buf);
  14. }
  15. </script>
Удачи!
p.s. Здесь $addtags не определена
Цитата:
<input class="input-item text-field" type="text" name="addtags" value="<?= $addtags ?>">
видимо должно быть $_POST['addtags']

(Отредактировано автором: 08 Октября, 2020 - 10:59:31)

 
 Top
rasl89
Отправлено: 08 Октября, 2020 - 22:00:53
Post Id



Гость


Покинул форум
Сообщений всего: 104
Дата рег-ции: Март 2020  
Откуда: Россия, Уфа


Помог: 1 раз(а)




Цитата:
видимо должно быть $_POST['addtags']

по разному пробовал, не работает, в принципе как есть должно работать

Цитата:
js-script - нет ли там addEventListener для тэга submit,

не было, пробовал добавить не помогло

Цитата:
action и target формы - куда на самом деле отправляются данные.

так у меня в форме ведь нет ни того ни того
(Добавление)
сама функция работает, не работает условие IF
 
 Top
LIME
Отправлено: 09 Октября, 2020 - 01:09:16
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




chrome -> f12 -> сеть
смотри что улетает
https://learn[dot]javascript[dot]ru/devtools
Vladimir Kheifets пишет:
Допустим, что у Вас error_reporting(E_ALL)
почему? я склонен допустить обратное
var_dump($_POST);
http://phpfaq[dot]ru/debug
 
 Top
rasl89
Отправлено: 09 Октября, 2020 - 16:45:38
Post Id



Гость


Покинул форум
Сообщений всего: 104
Дата рег-ции: Март 2020  
Откуда: Россия, Уфа


Помог: 1 раз(а)




LIME пишет:
chrome -> f12 -> сеть
смотри что улетает


мой отправки тут нет
Прикреплено изображение (Нажмите для увеличения)
1111111.PNG

(Отредактировано автором: 09 Октября, 2020 - 16:46:16)

 
 Top
rasl89
Отправлено: 09 Октября, 2020 - 16:46:38
Post Id



Гость


Покинул форум
Сообщений всего: 104
Дата рег-ции: Март 2020  
Откуда: Россия, Уфа


Помог: 1 раз(а)




продолжение
Прикреплено изображение (Нажмите для увеличения)
22222222.PNG
 
 Top
LIME
Отправлено: 09 Октября, 2020 - 16:59:28
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




выбери только Doc и XHR через Ctrl
и отметь Preserve log
как в русском я не знаю
потом кликай или что там
Прикреплено изображение (Нажмите для увеличения)
screen16.jpg
 
 Top
rasl89
Отправлено: 09 Октября, 2020 - 22:19:01
Post Id



Гость


Покинул форум
Сообщений всего: 104
Дата рег-ции: Март 2020  
Откуда: Россия, Уфа


Помог: 1 раз(а)




LIME пишет:
выбери только Doc и XHR через Ctrl
и отметь Preserve log
как в русском я не знаю
потом кликай или что там


cделал, вот что вышло, приложил скрин
Прикреплено изображение (Нажмите для увеличения)
4355235.PNG
 
 Top
LIME
Отправлено: 09 Октября, 2020 - 22:27:00
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




сердечно поздравляю
(Добавление)
аа... дальше кликай на нужный запрос и смотри
и сам разбирайся
не с ложечки же тебя кормить
думал тебе будет достаточно намека на существующий инструмент для просмотра запросов
чтоб понимать что улетает
и var_dump чтоб видеть что прилетает
 
 Top
rasl89
Отправлено: 09 Октября, 2020 - 22:50:35
Post Id



Гость


Покинул форум
Сообщений всего: 104
Дата рег-ции: Март 2020  
Откуда: Россия, Уфа


Помог: 1 раз(а)




Цитата:
думал тебе будет достаточно намека на существующий инструмент для просмотра запросов


жаль но нет(
попробую разобраться
(Добавление)
НО я протестил через дебаггер
и мне выдало ошибку:
PHP Notice: Undefined variable: addtags in /C:/Webserver/OSPanel/domains/sporim2/wp-content/themes/freelanceengine/template/post-project-step3.php on line 115

на строку:
CODE (html):
скопировать код в буфер обмена
  1. <input class="input-item text-field" type="text" name="addtags" value="<?= $addtags ?>">

(Отредактировано автором: 09 Октября, 2020 - 23:10:16)

 
 Top
Страниц (4): [1] 2 3 4 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB