Я хочу перенаправить страницу PHP на другую, отправив ей данные методом HTTP POST .
Я не могу использовать cURL, потому что мне нужны относительные URL (функция будет вызываться из разных мест), поэтому я нашел эту функцию в Интернете:
function head($url)
{
$string = http_build_query($GLOBALS['new']);//$GLOBALS['new'] is an array containing some variables and I already tested it using var_dump()
$options = array('method'=>'POST', 'header'=>'Content-type: application/x-www-form-urlencoded', 'content'=>$string);
file_get_contents($url, false, stream_context_create(array('http'=>$options)));
echo error_get_last()['message'];//temporary to see the error message
header("Location: $url");
}
Я бы вызвал ее, набрав head(".?result=success)
или что-то в этом роде ...
Проблема в том, что я получаю это сообщение об ошибке
file_get_contents(.?result=success): failed to open stream: No error
, и страница назначения ничего не получает.
Что бы то ни было это означает, что я не могу найти способ исправить это, и даже удаление метода HTTP GET или установка абсолютных путей вместо этого (даже если это не моя цель) ничего не меняет.
Можете ли вы найти способ заставить его работать?
Или, если это невозможно, можете ли вы предложить мне другой способ отправки HTTP POST с использованием относительного URL-адресов