Forma Simples
O mesmo que o código HTML iria submeter, você poderia utilizar o código:
$content = http_build_query(array( 'field1' => 'Value1', 'field2' => 'Value2', 'field3' => 'Value3', )); $context = stream_context_create(array( 'http' => array( 'method' => 'POST', 'content' => $content, ) )); $result = file_get_contents('http://exemplo/make_action.php', null, $context);
Explicando o código
Na primeira linha o código
$content = http_build_query(array(
, a função http_build_query como diz a própria documentação do php Gera a string de consulta (query) em formato URLhttp://br1.php.net/http_build_query, resumindo, a função irá transformar um array de dados, em um forma de query, no caso, seria algo como:
field1=Value1&field2=Value2&field3=Value3
Na sexta linha encontraremos a função stream_context_create http://php.net/stream_context_create, que criará um fluxo de contexto, ou seja irá preparar a requisição da mesma forma que é feito pelo browser antes de enviar para o php quando submetemos o formulário.
E por ultimo a função file_get_contents, uma das minhas funções preferidas no php(já varri muito site com ela). Ela fará a requisição para a pagina, no caso http://exemplo/make_action.php, enviando o contexto gerado em stream_context_create, e pegará o output da pagina e colocando na variável $result;
Simples não? Essa é minha forma favorita, porem existem outras, se você se interessar procure por curl
fonte:
Para recuperar os POSTs no arquivo de destino:
//Por segurança, para pegar só o desejado, sem tags html
$Antes = "/[><']/";//Html, para retirar
$Depois = " ";
if(isset($_POST['valor'])){
$x_valor = preg_replace($Antes,$Depois,$_POST['valor']);
}else{
$x_valor = "";//Pega vazio se não vier como esperado
}
echo "$x_valor";
?>