#php #ios #web-services #api #webservice-client
#php #iOS #веб-сервисы #API #веб-сервис-клиент
Вопрос:
Я застрял на 2 дня, я работаю с веб-сервисами, и эти веб-сервисы делают запрос из iOS
, они отправляют запрос с помощью $_POST
метода, но он не работает.
Я пытался, print_r($_POST)
но он возвращает пустой Array()
, а также попробовал с $_REQUEST
, но его метод, Array()
единственный GET
, возвращающий пустой, работает должным образом.
Я также создаю <form>
и пытаюсь отправить с помощью POST
метода и распечатать оба, $_POST
и $_REQUEST
затем оба работают должным образом.
При печати $_SERVER['REQUEST_METHOD']
он возвращается GET
.
Пожалуйста, ребята, кто-нибудь знает, как это происходит?
Комментарии:
1. Нет кода? Решения нет… Можете ли вы поделиться каким-нибудь релевантным кодом? 😉
2. Как вы ожидаете, что кто-нибудь поможет, если вы не публикуете свой код в вопросе? Подразумевается ли, что это игра в угадайку ?
3. Судя по вашему описанию, вы отправляете запрос не через POST или делаете что-то неправильно при отправке запроса, из-за чего он отправляется через GET. PHP не будет необъяснимым образом изменять входящий запрос POST на GET.
4. Я использую веб-сервисы, они отправляют запрос с устройства iOS. Я просто печатаю
$_POST
, и он вернет пустое значение5. @apokryfos, я отправляю запрос от POSTMAN с помощью метода POST.
Ответ №1:
Здесь я могу найти свой ответ и проблему. For mod_rewrite
— это метод запроса на изменение. Если у вас есть правило перезаписи, которое влияет на URL действия, вы не сможете прочитать переменную POST.
Вы должны добавить это правило в .htaccess
в начале, чтобы избежать перезаписи URL:
RewriteRule ^login.php - [PT]
Ответ №2:
Во-первых, нам нужно будет просмотреть ваш код, чтобы иметь возможность полностью помочь вам. Ниже приведен небольшой пример того, как использовать формы в сочетании с PHP и $_POST
.
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
echo "<pre>";
var_dump($_POST);
echo "</pre>";
exit;
}
?>
<!-- HTML -->
<form method="POST" action="<?= $_SERVER['PHP_SELF']; ?>">
<input type="text" name="element" />
<button type="submit">Submit form</button>
</form>
Комментарии:
1. Здесь веб-сервис, а не форма.
2. Тот же принцип обработки, хотя вам нужно будет предоставить нам несколько примеров кода, чтобы мы могли помочь.
3. Я попробовал на вашем примере, он работает нормально… Я застрял с webservice bro