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

 PHP.SU

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


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

> Описание: Не передаются переменные из формы
Конструктор
Отправлено: 21 Апреля, 2010 - 19:46:36
Post Id



Частый гость


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


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




Проблема с самым простым скриптом наверное..
На сайте бесплатного хостинга корневая папка /site.
Туда я загружаю все страницы.
Для того чтобы понять как обработать данные из html формы я создал 2 файла:
1) form.html
2) HandleForm.php

form.html:
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <HTML>
  3. <HEAD>
  4. <TITLE>HTML Form</TITLE>
  5. </HEAD>
  6. <BODY>
  7. <FORM ACTION="HandleForm.php" METHOD="POST">
  8. First Name <INPUT TYPE=TEXT NAME="FN" SIZE="20">
  9. Last Name <INPUT TYPE=TEXT NAME="LastName" SIZE="40">
  10. E-mail Address <INPUT TYPE=TEXT NAME="Email" SIZE="60">
  11. Comments <TEXTAREA NAME="Comments" ROWS="5" COLS="40"></TEXTAREA>
  12. <INPUT TYPE="submit" VALUE="отправить">
  13. </FORM>
  14. </BODY>
  15. </HTML>
  16.  


HandleForm.php:

CODE (html):
скопировать код в буфер обмена
  1.  
  2. <html>
  3. <head>
  4.   <title>Form Results</title>
  5. </head>
  6. <body>
  7.     <?php
  8. /*Эта страница получает и обрабатывает данные, принятые от "form.html" */
  9. print("Your first name is $FN.<br>\n");
  10. print("Your last name is $LastName.<br>\n");
  11. print("This is what you had to say:<br>\n $Comments.<br>\n");
  12.     ?>
  13. </body>
  14. </html>


Проблема в том, что сами переменные не попадают в php страницу..
тоесть в из команды print("Your first name is $FN.<br>\n");
печатается только Your first name is
а сама переменная из формы нет
Сообщения выводятся а данные из формы нет... Может я что-то не учел?

(Отредактировано автором: 21 Апреля, 2010 - 19:54:39)



-----
Если все время идти вперед, до цели будет немного ближе..
 
 Top
Champion Супермодератор
Отправлено: 21 Апреля, 2010 - 19:50:56
Post Id



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


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


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




register_globals, $_POST
 
 Top
Конструктор
Отправлено: 21 Апреля, 2010 - 19:56:22
Post Id



Частый гость


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


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




Champion пишет:
register_globals, $_POST

это для настроек сервера?
кстати пробовал через Денвер, тоже не получается...


-----
Если все время идти вперед, до цели будет немного ближе..
 
 Top
CenapaTop
Отправлено: 21 Апреля, 2010 - 19:57:36
Post Id



Частый гость


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


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




PHP:
скопировать код в буфер обмена
  1. print("Your first name is $_POST['FN']<br>");

(Отредактировано автором: 21 Апреля, 2010 - 19:57:53)

 
 Top
Конструктор
Отправлено: 21 Апреля, 2010 - 20:10:56
Post Id



Частый гость


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


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




CenapaTop пишет:
print("Your first name is $_POST['FN']<br>");


После этого страница из PHP выдает такое:

    Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /www/ax3.net/n/e/newproject/home /site/HandleForm.php on line 14


-----
Если все время идти вперед, до цели будет немного ближе..
 
 Top
Prog
Отправлено: 21 Апреля, 2010 - 20:15:31
Post Id



Частый гость


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


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




HandleForm.php:

CODE (html):
скопировать код в буфер обмена
  1.  
  2. <html>
  3. <head>
  4.   <title>Form Results</title>
  5. </head>
  6. <body>
  7.     <?php
  8. $FN=$_POST['$FN'];
  9. $LasyName=$_POST['$LastName'];
  10. /*Эта страница получает и обрабатывает данные, принятые от "form.html" */
  11. print("Your first name is $_POST['$FN'].<br>\n");
  12. print("Your last name is $_POST['$LastName'].<br>\n");
  13. print("This is what you had to say:<br>\n $Comments.<br>\n");
  14.     ?>
  15. </body>
  16. </html>

Попробуй так ))
 
 Top
CenapaTop
Отправлено: 21 Апреля, 2010 - 20:16:10
Post Id



Частый гость


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


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




PHP:
скопировать код в буфер обмена
  1. print("Your first name is {$_POST['FN']}<br>");
 
 Top
Конструктор
Отправлено: 21 Апреля, 2010 - 20:30:43
Post Id



Частый гость


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


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




CenapaTop пишет:
print("Your first name is {$_POST['FN']}<br>");


Спасибо теперь все передается.
Напоследок хотел спросить зачем столько скобок? И где можно подробнее почитать об этом.. Пока не понял что такое - $_POST Это связанно именно с формами?
Ведь простые переменные вроде печатаются в двойных кавычках...

P.s. Копировал из одной книги.. интересно как у автора это работало )

(Отредактировано автором: 21 Апреля, 2010 - 20:32:26)



-----
Если все время идти вперед, до цели будет немного ближе..
 
 Top
CenapaTop
Отправлено: 21 Апреля, 2010 - 20:39:38
Post Id



Частый гость


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


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




http://php.su/phphttp/forms/?intro
книжка, наверное, старовата.

(Отредактировано автором: 21 Апреля, 2010 - 20:41:02)

 
 Top
JustUserR
Отправлено: 22 Апреля, 2010 - 13:27:35
Post Id



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


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


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




Конструктор пишет:
Напоследок хотел спросить зачем столько скобок? И где можно подробнее почитать об этом.. Пока не понял что такое - $_POST Это связанно именно с формами?
Ведь простые переменные вроде печатаются в двойных кавычках...
Скобки нужны в том случае когда интерполируемая перменная (То есть которая подставляется в строку с двойными кавычками) является списковой - то есть массивом или хеш-массивом Что касается хеш-массива $_POST то в него приходят переменные передаваемые от формы с method="POST" Про двойные кавычки я вам уже по сути ответил - простым образом в них подставляются только скалярные переменные типа строк или чисел - хотя и в таком случае для ограничения имени переменной можно использовать скобки - например echo "abc${my_variable}123"


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Монстр_11111
Отправлено: 22 Апреля, 2010 - 13:33:50
Post Id



Частый гость


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


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




И вот так можно )
print("Your first name is $_POST[FN]<br>");

Но я люблю писать как то так (конкатен. строк)
print('Your first name is '.$_POST['FN'].'<br>');

(Отредактировано автором: 22 Апреля, 2010 - 13:34:59)

 
 Top
JustUserR
Отправлено: 22 Апреля, 2010 - 13:48:38
Post Id



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


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


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




Монстр_11111 пишет:
Но я люблю писать как то так (конкатен. строк
И не зря потому что данный метод работает значительно быстрее (При больших объемах выводимой информации можно проверить) Аналогично быстрее работает серсия выводов echo - чем один большой echo с конкатенированной строкой


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB