Hildds 1 Denunciar post Postado Janeiro 31, 2011 Olá, pessoal estou com uma duvida, estou querendo enviar dados via POST utilizando cURL para uma página, mas quero que eu seja redirecionado junto ao envio de dados... Só que não quero fazer isso através de formulários pois preciso que esses dados sejam passados de forma segura e escondida do cliente. Obrigado a todos pela atenção. Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Janeiro 31, 2011 a opção FOLLOW_LOCATION do cURL faz o que você quer http://www.php.net/curl_setopt Compartilhar este post Link para o post Compartilhar em outros sites
Jefrey 0 Denunciar post Postado Fevereiro 9, 2011 Você quer redirecionar a página junto com os dados do formulário POST? Usa isso: header("Location: pagina.php", TRUE, 307); Compartilhar este post Link para o post Compartilhar em outros sites
Hildds 1 Denunciar post Postado Fevereiro 9, 2011 Você quer redirecionar a página junto com os dados do formulário POST? Usa isso: header("Location: pagina.php", TRUE, 307); @Jefrey Tentei aqui e não consegui, segue o código: <?php echo "INICIANDO...<br>"; $url = "http://127.0.0.1/Testes/cURL/recebe.php"; $cURL = curl_init(); curl_setopt($cURL, CURLOPT_URL, $url); curl_setopt($cURL, CURLOPT_AUTOREFERER, true); curl_setopt($cURL, CURLOPT_FOLLOWLOCATION, true); curl_setopt($cURL, CURLOPT_POST, true); curl_setopt($cURL, CURLOPT_TIMEOUT, 20); curl_setopt($cURL, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($cURL, CURLOPT_HEADER, false); $dados = array( "mensagem" => "<h3>enviou e redirecionou</h3>" ); curl_setopt($cURL, CURLOPT_POSTFIELDS, $dados); curl_exec($cURL); curl_close($cURL); header("Location: ".$url, TRUE, 307); ?> Mensagem: Notice: Undefined index: mensagem in C:\Program Files (x86)\Wamp\www\Testes\cURL\recebe.php on line 3 recebe.php: <?php echo $_POST["mensagem"]; ?> Obrigado e abraços. Compartilhar este post Link para o post Compartilhar em outros sites
Jefrey 0 Denunciar post Postado Fevereiro 9, 2011 Para usar o método lá do header() não precisa de curl. Compartilhar este post Link para o post Compartilhar em outros sites
Hildds 1 Denunciar post Postado Fevereiro 10, 2011 Para usar o método lá do header() não precisa de curl. O problema é que preciso que os dados sejam enviados com o cURL e junto ao envio seja redirecionado, quero saber se isso é possível. Compartilhar este post Link para o post Compartilhar em outros sites
Jefrey 0 Denunciar post Postado Fevereiro 13, 2011 Só que não quero fazer isso através de formulários pois preciso que esses dados sejam passados de forma segura e escondida do cliente. O método do header() é oculto. preciso que os dados sejam enviados com o cURL Você quer ou deve utilizar cURL? junto ao envio seja redirecionado Mas é isso que o método do header() faz. Acho que não entendi direito a pergunta. Explica com uma mini-história, ou algo assim. Compartilhar este post Link para o post Compartilhar em outros sites
Bruno Augusto 417 Denunciar post Postado Fevereiro 13, 2011 Testei o código que você postou e funcionou perfeitamente. No caso usei ele em curl.php para efetuar a conexão, recebe.php para executar algo "nos bastidores" e pagina.php para ser redirecionada. Seu problema é que você fez confusão sobre onde redirecionar. Nesse caso, você deveria redirecionar em recebe.php e não em curl.php, afinal, CURLOPT_FOLLOWLOCATION serve para seguir um redirecionamento na página alvo da conexão. Para ter certeza de que tudo estava correndo nos conformes, gravei a mensagem enviada via POST numa sessão para ser recuperada mais tarde, em pagina.php: curl.php error_reporting( E_ALL | E_STRICT ); $strCookie = 'PHPSESSID=' . $_COOKIE['PHPSESSID'] . '; path=/'; session_write_close(); $url = "http://localhost/recebe.php"; $cURL = curl_init(); curl_setopt( $cURL, CURLOPT_URL, $url ); curl_setopt( $cURL, CURLOPT_AUTOREFERER, true ); curl_setopt( $cURL, CURLOPT_COOKIE, $strCookie ); curl_setopt( $cURL, CURLOPT_FOLLOWLOCATION, true ); curl_setopt( $cURL, CURLOPT_POST, true ); curl_setopt( $cURL, CURLOPT_TIMEOUT, 20 ); curl_setopt( $cURL, CURLOPT_SSL_VERIFYPEER, false ); curl_setopt( $cURL, CURLOPT_HEADER, false ); curl_setopt( $cURL, CURLOPT_POSTFIELDS, array( "mensagem" => "<h3>enviou e redirecionou</h3>" ) ); curl_exec( $cURL ); curl_close( $cURL ); recebe.php <?php session_start(); $_SESSION['mensagem'] = $_POST["mensagem"]; header("Location: pagina.php", TRUE); pagina.php <?php session_start(); var_dump( $_SESSION ); Compartilhar este post Link para o post Compartilhar em outros sites