
Enviar Dados Via Post E Abrir Uma Url
#1
Posted 24/03/2008, 16:02
Estou precisando de uma ajudinha de vocês. É o seguinte: preciso enviar algumas informações de uma página para outra. Exemplo: enviar informações da página 01.php para a página 02.php via POST e quando esta última receber os dados também enviar via POST para a uma determinada URL. Como deveria fazer isso?
Preciso fazer isso pois na página 02.php estará a URL de um gateway, usuário e senha que o Cliente não pode ter conhecimento.
Seria algo mais ou menos assim:
página 01.php:
==============
Formulário com entrada dos dados
DA=número do celular e
M=mensagem de texto que o usuário quer enviar.
página 02.php
=============
<?php
$M = $_POST["M"];
$DA = $_POST["DA"];
?>
A URL seria essa:
http://www.site.com....X...p;M=M&DA=DA
Onde:
DA = número do celular
M= mensagem de texto para enviar via SMS
UN= usuário
P= senha
SA= empresa
É importante salientar que a página 02.php deve ter apenas scripts em php para que, se o cliente for ver o código fonte, não veja a URL, Usuário nem a Senha, por isso que não pode ser via GET.
Conto com a ajuda de vocês.
Obrigado desde já.
Daniel/Porto Alegre-RS
#2
Posted 24/03/2008, 16:13
Se n pode ser via GET, pq passa as informações na querystring ?!?
De qualquer forma, na página 2 vc pode trabalhar com includes de arquivos JS pra fazer um autopost de um form, onde cada campo é do tipo hidden. Vc pode usar include pra isso tmb. Digamos, tu cria uma página PHP dando echos de comandos html pra montar um form, onde tu seta os campos hidden pra receber os valores por $_POST, dae, como o form vai estar preenchido assim que chegar a página, tu faz um reload chamando o script pra enviar o form, tipo assim:
<body onLoad="nomedoteuform.submit();">
Isso deveria enviar o form, sem mostrar nada na tela do usuário
/*DarkSign*/
Edição feita por: DarkSign, 24/03/2008, 16:14.
#3
Posted 24/03/2008, 18:45
Se n pode ser via GET, pq passa as informações na querystring ?!?
De qualquer forma, na página 2 vc pode trabalhar com includes de arquivos JS pra fazer um autopost de um form, onde cada campo é do tipo hidden. Vc pode usar include pra isso tmb. Digamos, tu cria uma página PHP dando echos de comandos html pra montar um form, onde tu seta os campos hidden pra receber os valores por $_POST, dae, como o form vai estar preenchido assim que chegar a página, tu faz um reload chamando o script pra enviar o form, tipo assim:<body onLoad="nomedoteuform.submit();">
Isso deveria enviar o form, sem mostrar nada na tela do usuário
/*DarkSign*/
Valeu pela dica. Mas o problema é que não sei nem por onde começar pois sou iniciante em PHP.
Será que poderia me ajudar? Tem algum exemplo aqui no site?
Agradeço desde já.
Abraço,
Daniel.
#4
Posted 25/03/2008, 01:22
DA = número do celular M= mensagem de texto para enviar via SMS UN= usuário P= senha SA= empresa
por $_POST apenas. Se tu chamar na URL, n vai adiantar nada, pq n URL n vai criptografado nem nada, simplesmente o usuário na transição de uma página pra outra poderia parar o carregamento e recuperar o valor de UN e P, o que n seria legal pra ti, n eh msm xD?
Pra fazer o que eu disse antes, é só tu criar um form com os campos escondidos:
<form name="frmOculto" action="pagina02.php"> <input type="hidden" name="nomecampo" value="<?php echo $_POST['nomevar']; ?> <!-- Pra cada campo que tu quiser manter oculto, mudar apenas name e value --> </form>
Ae, com o onLoad, fica assim:
<body onLoad="frmOculto.submit();">
Assim que ele chegar à essa página, ele automaticamente postará o form.
Se alguém puder me ajudar a explicar melhor, agradeço.
/*DarkSign*/
#5
Posted 26/03/2008, 02:38
kara, eu n sei se aqui tem os scripts, mas deixa eu te ajudar com uma coisa. Passe essas varst
DA = número do celular M= mensagem de texto para enviar via SMS UN= usuário P= senha SA= empresa
por $_POST apenas. Se tu chamar na URL, n vai adiantar nada, pq n URL n vai criptografado nem nada, simplesmente o usuário na transição de uma página pra outra poderia parar o carregamento e recuperar o valor de UN e P, o que n seria legal pra ti, n eh msm xD?
Pra fazer o que eu disse antes, é só tu criar um form com os campos escondidos:<form name="frmOculto" action="pagina02.php"> <input type="hidden" name="nomecampo" value="<?php echo $_POST['nomevar']; ?> <!-- Pra cada campo que tu quiser manter oculto, mudar apenas name e value --> </form>
Ae, com o onLoad, fica assim:<body onLoad="frmOculto.submit();">
Assim que ele chegar à essa página, ele automaticamente postará o form.
Se alguém puder me ajudar a explicar melhor, agradeço.
/*DarkSign*/
DarkSign:
Agradeço sua ajuda mas ainda não estou conseguindo.
Eu coloquei na página sms.php, onde o cliente informa o celular e a mensagem (apenas isso), o POST destas duas informações para a página enviando.php e lá eu coloquei assim:
<? $S = 'H; $UN= 'teste'; $P= '123456'; $M = $_POST["M"]; $DA = $_POST["DA"]; $SA= 'MinhaEmpresa'; ?> <body onLoad="enviasms.submit();"> <form name="enviasms" action="http://sms1.cardboardfish.com:9001/HTTPSMS?"> <input type="hidden" name="S" value="<?php echo $S ?>"> <input type="hidden" name="UN" value="<?php echo $UN ?>"> <input type="hidden" name="P" value="<?php echo $P ?>"> <input type="hidden" name="M" value="<?php echo $_POST['M']; ?>"> <input type="hidden" name="DA" value="<?php echo $_POST['DA']; ?>"> <input type="hidden" name="SA" value="<?php echo $SA ?>"> </form> </body>
Só que ele envia mas fica aparecendo na URL todos os dados como se eu estivesse enviado via GET.
Será que é por causa que o site é externo (http://sms1.cardboar...m:9001/HTTPSMS?) e não está no meu servidor ?
Outra dúvida: e seu eu colocasse os dados UN=usuário, P=senha, e SA=empresa no banco de dados e chamasse no formulário enviando.php antes de enviar daria certo? Como que eu deveria fazer?
Agradeço desde já sua boa vontade em me ajudar é que estou precisando muito terminar este site e não consigo de jeito nenhum
Grande abraço amigo e obrigado.
Daniel/Porto Alegre
Edição feita por: boirock, 26/03/2008, 09:27.
Uso de [code]
#6
Posted 26/03/2008, 09:29
Como está você corre riscos mesmo com POST
#7
Posted 26/03/2008, 11:03
Só que ele envia mas fica aparecendo na URL todos os dados como se eu estivesse enviado via GET.
Será que é por causa que o site é externo (http://sms1.cardboar...m:9001/HTTPSMS?) e não está no meu servidor ?
Ele está mostrando pq vc esqueceu de colocar method="POST" na tag do teu form xD.
Mas realmente seria bom usar criptografia, como o colega acima mencionou.
/*DarkSign*/
#8
Posted 03/04/2008, 10:25
sei que é meio tarde para te responder ao seu tópico mais vale a dica
o seguinte ja passei varias vezes por esse problema, e melhor solução q eu acho é o cURL
segue um tutorial mostrando como passar requisição via post usando cURL e também o link com a documentação do mesmo....
biblioteca cURL
http://br.php.net/ma...BR/ref.curl.php
totorial cURL
http://www.htmlstaff...ver.php?id=1168
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)