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 :: Не получается взять текст с textarea в $_POST, не пойму почему.

 PHP.SU

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


 Страниц (1): [1]   

> Без описания
Webtest
Отправлено: 08 Сентября, 2014 - 12:50:37
Post Id


Посетитель


Покинул форум
Сообщений всего: 286
Дата рег-ции: Июнь 2014  


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




Подскажите в чем проблема?
Цикл рисует несколько текстовых форм и кнопок:
CODE (html):
скопировать код в буфер обмена
  1. <textarea name="answerArea" class="textareaForAnswer"></textarea>
  2. <button class="questionBtn" name="sendAnswer" value="<?php echo $showMessage['id'][$num]; ?>">Ответить</button>

Вот обработчик:
PHP:
скопировать код в буфер обмена
  1. if (isset($_POST['sendAnswer'])) {
  2.     echo $_POST['sendAnswer'];
  3.     echo $_POST['answerArea'];
  4. }

Почему код всегда выводит, будто $_POST['answerArea'] пустая, даже если я что-то туда написал?
Выводит текст ТОЛЬКО в случае, если я его уже в коде прописал, например:
CODE (html):
скопировать код в буфер обмена
  1. <textarea name="answerArea" class="textareaForAnswer">123123123</textarea>

Тогда выводит, а если сам пишу, то нет. В чем может быть проблема?

Единственное, что я подозреваю, это из-за того, что имена текстовых полей одинаковые и код берет значение только последнего текстового поля. У меня их цикл рисует, т.е.надо у каждого текстового поля сделать разное имя? Но как тогда потом черезПОСТ к нему обращаться?

(Отредактировано автором: 08 Сентября, 2014 - 12:52:54)

 
 Top
Sail
Отправлено: 08 Сентября, 2014 - 12:54:40
Post Id



Участник


Покинул форум
Сообщений всего: 1131
Дата рег-ции: Февр. 2014  


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




Webtest пишет:
т.е.надо у каждого текстового поля сделать разное имя? Но как тогда потом черезПОСТ к нему обращаться?

Да. Надо. Например сделать массивом.
CODE (html):
скопировать код в буфер обмена
  1. <textarea name="answerArea[]"

И тогда:
PHP:
скопировать код в буфер обмена
  1. if(isset($_POST['answerArea'])) {
  2.   foreach($_POST['answerArea'] as $key => $value) {
  3.     ...
  4.   }
  5. }
 
 Top
avtor.fox
Отправлено: 08 Сентября, 2014 - 12:59:14
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2083
Дата рег-ции: Март 2012  
Откуда: Воронеж


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




Webtest пишет:
Единственное, что я подозреваю, это из-за того, что имена текстовых полей одинаковые и код берет значение только последнего текстового поля.

Совершенно верно.

Webtest пишет:
Но как тогда потом черезПОСТ к нему обращаться?

Вам нужно каждую форму (поля, где будут писать ответ) обвернуть в теги form. Вы можете в скрытом поле передавать ID формы, а в скрипте уже смотреть, от кого пришло и как обработать. В большинстве случаев происходит вот так:

CODE (html):
скопировать код в буфер обмена
  1. <form method="post">
  2.     <textarea name="fulltext"></textarea>
  3.     <input type="hidden" name="id" value="ID1" />
  4.     <input type="submit" />
  5. </form>
  6.  
  7. <form method="post">
  8.     <textarea name="fulltext"></textarea>
  9.     <input type="hidden" name="id" value="ID2" />
  10.     <input type="submit" />
  11. </form>
 
 Top
Webtest
Отправлено: 08 Сентября, 2014 - 13:26:32
Post Id


Посетитель


Покинул форум
Сообщений всего: 286
Дата рег-ции: Июнь 2014  


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




Sail, avtor.fox спасибо, теперь все работает ОК!
Если интересно, я сделал так:
PHP:
скопировать код в буфер обмена
  1. name="answerArea[]"
  2. $answer = '';
  3. foreach($_POST['answerArea'] as $key => $value) {
  4.         $answer .= $value;
  5. }
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB