Я пытаюсь отправить запрос POST с помощью функции stream_context_create(), но я не получаю ожидаемый результат.Http-запрос с stream_context_create()
потока (коды ниже):
- index.php - принимает входные данные от пользователя через форму и представляет его submit.php.
- submit.php - принимает запрос POST и отображает соответствующий результат.
- upload.php - использует stream_context_create() для отправки запроса POST на submit.php.
коды:
index.php
<html>
<body>
<form method="POST" action="submit.php">
<input type="text" name="field" />
<button id="submit">Upload</button>
<input type="hidden" name="submit" />
</form>
<script>
document.getElementById('submit')
.addEventListener('click', function(){
document.querySelector('form').submit();
}, false);
</script>
</body>
</html>
submit.php
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST'){
echo "<input type='text' value='value = " . $_POST['field'] . "' />";
}
else {
echo "form not submitted correctly";
}
?>
upload.php
<?php
$url = 'submit.php';
$data = array('field' => 'Check1');
$options = array(
'http' => array(
'header' => "Content-type: application/x-www-form-urlencoded\r\n",
'method' => 'POST',
'content' => http_build_query($data),
),
);
$context = stream_context_create($options);
$fp = fopen('submit.php', 'r', false, $context);
fpassthru($fp);
fclose($fp);
?>
Выход получил при загрузке upload.php
"; } else { echo "form not submitted correctly"; } ?>
/*******************************************************/
Я не знаю, что происходит не так? Любые другие решения для отправки запроса POST проверяются.
Во-первых, вы должны исправить некорректный HTML. –
Во-вторых, вывод, который вы показываете нам, не соответствует исходному коду, который у вас есть. Пожалуйста, напишите больше кода. –
Я исправил неверный HTML (по крайней мере, по мне), но для вывода я скопировал его как таковой) – user3159395