Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

blackmind

Como Fazer um POST automatico

Recommended Posts

Ola pessoal,

 

Resumir, to usando o MOIP (sistema parecido com pagseguro) as informações que ele 'pega' sao via POST, no meu site o usuario faz o cadastro do email e nome, e eu envio para uma pagina que faz inserção no meu BD, eu queria que nessa mesma pagina ele ja enviase os arquivos de POST, sem ter que clicar no botao novamente um 'POST AUTOMATICO' o ideial éra um js ou ajax, pois acho que o php nao faz isso, mas se alguem me poder me ajudar, agradeço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo,

 

Você pode usar cURL para fazer isso:

 

/**
* Faz uma requisição HTTP utilizando cURL
* @param string $url A URL que será recuperada
* @param string $method O método HTTP que será utilizado para recuperar (GET, POST, etc...)
* @param array $data Matriz contendo os campos que serão enviados com a requisição
* @param array $headers Matriz contendo cabeçalhos HTTP
* @return string O conteúdo recuperado
*/
function curl_get_contents( $url , array $data = array() , $method = 'GET' , array $headers = array() ){
$ret = null;

if ( function_exists( 'curl_init' ) ){
	if ( ( $curl = curl_init() ) !== false ){
		curl_setopt( $curl , CURLOPT_HEADER , false );
		curl_setopt( $curl , CURLOPT_RETURNTRANSFER , true );
		curl_setopt( $curl , CURLOPT_HTTPHEADER , $headers );
		curl_setopt( $curl , CURLOPT_CUSTOMREQUEST , $method );

		if ( count( $data ) ){
			if ( strtoupper( $method ) == 'POST' )
				curl_setopt( $curl , CURLOPT_POSTFIELDS , $data );
			elseif ( count( $data ) )
				$url = sprintf( '%s?%s' , $url , http_build_query( $data ) );
		}

		curl_setopt( $curl , CURLOPT_URL , $url );

		$ret = curl_exec( $curl );
		$err = curl_error( $curl );
		$ern = curl_errno( $curl );

		curl_close( $curl );

		if ( $ern ) trigger_error( sprintf( 'cURL[ %d ]: %s' , $ern , $err ) , E_USER_ERROR );
	} else trigger_error( 'cURL: Não foi possível iniciar cURL' , E_USER_ERROR );
} else trigger_error( 'É necessário ter cURL instalada.' );

return $ret;
}

 

Para usar essa função ai:

$retorno = curl_get_contents( 'http://dominio.com' , array(
'campo1' => 'Valor do campo1',
'nome' => 'Um nome qualquer',
'outr' => 'Outra coisa...'
) , 'POST' );

 

;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não consegui implementar em meu site nao apareceu nada, alguem pode me ajudar

e tambem precisaria colocar um retorno de dados do moip em meu site com banco de dados e nao sei por onde começar

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seu site possui CURL? Acaso não tente usar o file_get_contents():

http://php.net/manual/en/function.file-get-contents.php

<?php
$opts = array(
  'http'=>array(
        'header'=>"Content-type: application/x-www-form-urlencoded",
        'method'=>'POST',
        'content'=>http_build_query(Arry(
                                                'VariavelA' => 'ValorA',
                                                'VariavelB' => 'ValorB',
                                                'VariavelC' => 'ValorC'
                                        ))
)
);
$context = stream_context_create($opts);
$file = file_get_contents('http://www.dominio.com/pagina.php', false, $context);
?>

ou http://www.php.net/manual/en/function.fsockopen.php

Compartilhar este post


Link para o post
Compartilhar em outros sites

Corrigindo:

<?php
$opts = Array(
  'http'=>Array(
        'header'=>"Content-type: application/x-www-form-urlencoded",
        'method'=>'POST',
        'content'=>http_build_query(Array(/*linha corrigida XD */
                                                'VariavelA' => 'ValorA',
                                                'VariavelB' => 'ValorB',
                                                'VariavelC' => 'ValorC'
                                        ))
)
);
$context = stream_context_create($opts);
$file = file_get_contents('http://www.dominio.com/pagina.php', false, $context);
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

tem sim, so nao consegui implantar em meu site

 

tenho um form que envia as informacoes pro moip, so que essas informacoes eu preciso gravar em meu banco e a action do form esta para o moip como faço para enviar as informacoes para meu banco e ao mesmo tempo para o moip

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.