Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.03.2019, 12:58   #1
TryDim
Новичок
Джуниор
 
Регистрация: 21.03.2019
Сообщений: 6
По умолчанию Написать php скрипт получающий через HTTP запрос

я php особо не изучал(в основном js). Попросили помочь выполнить такое задание:
"Написать php скрипт, получающий произвольный набор переменных через HTTP запрос и выводящий их в виде:
[имя переменной]: [значение]

Например, на ваш скрипт приходит запрос с переменной foo и значением bar. Выводом скрипта должен быть foo:bar".

я написал такое:
Код:
<?php
  $str = '';
  if (implode($_POST) != '') {
    $str = '<div>';
    foreach ($_POST as $item) {
      $str .= '<p>' . key($_POST) . ': ' . strip_tags($item) . '</p>';
      next($_POST);
    }
    $str .= '</div>';
  }
  echo $str;
?>
и отправлял post запрос через ajax.

Мне коротко ответили неправильно, но ответ я так и не узнал. Теперь очень интересно...

Последний раз редактировалось TryDim; 21.03.2019 в 13:04.
TryDim вне форума Ответить с цитированием
Старый 21.03.2019, 13:10   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Почему только $_POST?

Ну и в задании не говорилось про вывод HTML.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 21.03.2019, 13:12   #3
TryDim
Новичок
Джуниор
 
Регистрация: 21.03.2019
Сообщений: 6
По умолчанию

надо было все предусмотреть?
TryDim вне форума Ответить с цитированием
Старый 21.03.2019, 13:15   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Надо было условие уточнять.
p51x вне форума Ответить с цитированием
Старый 21.03.2019, 13:20   #5
TryDim
Новичок
Джуниор
 
Регистрация: 21.03.2019
Сообщений: 6
По умолчанию

я уточнил и получил:
"нужен просто PHP-скрипт, который возвращает данные, отправленные на него через HTTP, в том формате, который я описал выше."
TryDim вне форума Ответить с цитированием
Старый 21.03.2019, 13:23   #6
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

При таком уровне постовки я б скорее предположил о распарсе гет-параметров.
p51x вне форума Ответить с цитированием
Старый 21.03.2019, 13:29   #7
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Так каким образом данные передаются так и не уточнил.
в теле, в query string, ...

Нормальные люди бы просто показали бы пример запроса )

Я кстати не помню куда PHP девает параметры query string при POST запросе, там же путаница с этими кривыми именами глобальных переменных (вроде просто так же в $_GET?).
В современных фреймворках используют более адекватные интерфейсы из PSR https://www.php-fig.org/psr/psr-7/#1...-side-requests
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 21.03.2019, 13:33   #8
TryDim
Новичок
Джуниор
 
Регистрация: 21.03.2019
Сообщений: 6
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
При таком уровне постовки я б скорее предположил о распарсе гет-параметров.
не значительно сложнее.

наверное надо было все предусмотреть.

спасибо большое за внимание.
TryDim вне форума Ответить с цитированием
Старый 21.03.2019, 13:34   #9
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Так каким образом данные передаются так и не уточнил.
в теле, в query string, ...
Именно поэтому я за гет разбор:
1. Встречаю переодически людей, которые http запросом называют вот то, что вводится в адресной строке браузера, а всякие посты и формы это другое...
2. Для гет не стоит сильно формат передачи данных, для пост уже сложнее.

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Я кстати не помню куда PHP девает параметры query string при POST запросе, там же путаница с этими кривыми именами глобальных переменных (вроде просто так же в $_GET?).
Вы же сами ссылку дали...
Цитата:
$_POST, which deserializes and provides simplified access for urlencoded parameters submitted via HTTP POST; generically, it can be considered the results of parsing the message body.
p51x вне форума Ответить с цитированием
Старый 21.03.2019, 13:38   #10
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Цитата:
Сообщение от TryDim Посмотреть сообщение
наверное надо было все предусмотреть.
И какой формат данных вы бы предусмотрели для POST?
1.
Код:
a = 1
b = 1
2.
Код:
a = 1, b = 1
3.
Код:
a = 1 | b = 1
4.
Код:
a : 1;b : 1
5.
Код:
{ a = 1, b = 1 }
6.
Код:
{ params : [ a, b ], values : [ 1, 1 ] }
?
p51x вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Написать скрипт, который выгрузит данные из файла в формате JSON, создаст SQL таблицу и написать SQL запрос Mangum Фриланс 3 11.03.2016 05:21
Нужно написать скрипт для звонков с ПК через GSM-шлюз Stasimus Фриланс 3 11.11.2013 16:17
Http Proxy - как написать к браузеру http-прокси? SergeiGuk Общие вопросы .NET 0 21.05.2010 17:37
Получение строки через HTTP запрос Никки JavaScript, Ajax 6 24.04.2008 17:56