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 :: Версия для печати :: Формы
Форумы портала PHP.SU » » Вопросы новичков » Формы

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

1. Богдан Скуба - 03 Апреля, 2017 - 14:25:31 - перейти к сообщению
Добрый день всем. Столкнулся с такой проблемой и не смог найти ответ. Учусь работать с формами. Работаю в Apache. Но когда идет отправка формы, скрипт который должен отображать не работает, а просто выводится его содержимое.
Не работает только когда отправка формы идет. Способы отправки и коды пробовал разные, копировал из других источников. Проблема не в коде, а в чем не пойму. Буду благодарен за любой совет.
2. Строитель - 03 Апреля, 2017 - 14:28:30 - перейти к сообщению
Богдан Скуба, а файл-обработчик формы (на который форма отправляет POST запрос) под каким именем?
3. Богдан Скуба - 03 Апреля, 2017 - 14:35:51 - перейти к сообщению
Строитель пишет:
Богдан Скуба, а файл-обработчик формы (на который форма отправляет POST запрос) под каким именем?

Имя файла "one.php"
4. Строитель - 03 Апреля, 2017 - 14:43:06 - перейти к сообщению
Богдан Скуба пишет:
Строитель пишет:
Богдан Скуба, а файл-обработчик формы (на который форма отправляет POST запрос) под каким именем?

Имя файла "one.php"
А содержимое файла "one.php"? И ещё, если рядом с "one.php" есть ещё какие-то файлы, то работают ли они?
5. Богдан Скуба - 03 Апреля, 2017 - 14:55:51 - перейти к сообщению
Строитель пишет:
Богдан Скуба пишет:
Строитель пишет:
Богдан Скуба, а файл-обработчик формы (на который форма отправляет POST запрос) под каким именем?

Имя файла "one.php"
А содержимое файла "one.php"? И ещё, если рядом с "one.php" есть ещё какие-то файлы, то работают ли они?

Выяснил что не работает если находится в скобках, но должнож я так понимаю
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. echo "Hello $_GET['name'] ! You are $_GET['age'] years old";
  4. ?>
  5.  
6. Строитель - 03 Апреля, 2017 - 14:59:59 - перейти к сообщению
А метод передачи в теге <form method="?"></form> у вас какой?
(Добавление)
Богдан Скуба пишет:
echo "Hello $_GET['name'] ! You are $_GET['age'] years old";
Подобную запись лучше писать так:
PHP:
скопировать код в буфер обмена
  1. echo 'Hello '. $_GET['name'] .'! You are '. $_GET['age'] .' years old';
7. Богдан Скуба - 03 Апреля, 2017 - 15:10:08 - перейти к сообщению
Строитель пишет:
А метод передачи в теге <form method="?"></form> у вас какой?

Сейчас GET, но я и пробовал POST, результат аналогичен.
8. Строитель - 03 Апреля, 2017 - 15:13:31 - перейти к сообщению
Богдан Скуба пишет:
Выяснил что не работает если находится в скобках, но должнож я так понимаю
В каких скобках? В вашем коде я не увидел скобок. Или вы про кавычки? Если да, то выше я пояснил, как надо записывать строки и переменные.
9. Богдан Скуба - 03 Апреля, 2017 - 15:14:24 - перейти к сообщению
Строитель пишет:
А метод передачи в теге <form method="?"></form> у вас какой?
(Добавление)
Богдан Скуба пишет:
echo "Hello $_GET['name'] ! You are $_GET['age'] years old";
Подобную запись лучше писать так:
PHP:
скопировать код в буфер обмена
  1. echo 'Hello '. $_GET['name'] .'! You are '. $_GET['age'] .' years old';

С помощью инкапсуляции заработало, спасибо. Буду пока работать так
(Добавление)
Строитель пишет:
Богдан Скуба пишет:
Выяснил что не работает если находится в скобках, но должнож я так понимаю
В каких скобках? В вашем коде я не увидел скобок. Или вы про кавычки? Если да, то выше я пояснил, как надо записывать строки и переменные.

Извиняюсь устал, конешно кавычки и работает с помощью "конкатенации". Еще раз спасибо
10. Строитель - 03 Апреля, 2017 - 15:34:59 - перейти к сообщению
Богдан Скуба, можно и в кавычках записывать переменные, но в таком случае переменные надо экранировать фигурными скобками
PHP:
скопировать код в буфер обмена
  1. echo "Hello {$_GET['name']}! You are {$_GET['age']} years old";
Но это плохая практика.
11. quad - 06 Апреля, 2017 - 19:25:28 - перейти к сообщению
Строитель пишет:
Богдан Скуба, можно и в кавычках записывать переменные, но в таком случае переменные надо экранировать фигурными скобками
PHP:
скопировать код в буфер обмена
  1. echo "Hello {$_GET['name']}! You are {$_GET['age']} years old";
Но это плохая практика.

Не только плохая практика но и по времени дольше обрабатывается нежели
CODE (htmlphp):
скопировать код в буфер обмена
  1. echo 'Hello'.$_GET['name'].'! You are '.$_GET['age'].' years old';
этак раза в 1.5 это если смотреть по скорости выполнения и использования памяти! Сори за этот офтоп! Однако
12. Мелкий - 06 Апреля, 2017 - 19:40:45 - перейти к сообщению
quad пишет:
но и по времени дольше обрабатывается нежели

В зависимости от версии.
https://habrahabr[dot]ru/company/mailru/blog/318008/

tldr: руководствуйтесь другими соображениями в выборе стиля. Разница с конкатенацией и инлайном в строке слишком мала.
13. quad - 06 Апреля, 2017 - 23:07:47 - перейти к сообщению
Мелкий пишет:
quad пишет:
но и по времени дольше обрабатывается нежели

В зависимости от версии.
https://habrahabr[dot]ru/company/mailru/blog/318008/

tldr: руководствуйтесь другими соображениями в выборе стиля. Разница с конкатенацией и инлайном в строке слишком мала.
Вы правы в версии php 5.6 сейчас именно так, а вот в версии 5.3 было как я писал

 

Powered by ExBB FM 1.0 RC1