PHP envio de variável pela URL via metodo post

3,738 views
Skip to first unread message

Matias Lovison

unread,
Oct 20, 2008, 1:13:29 PM10/20/08
to lista...@googlegroups.com
Boa tarde
 
Estou enviando duas variáveis pelo método get, conforme script abaixo
 
<a href="eventos_certificados_impressao.php?codevento=<?=$codevento?>&cpf=<?=$cpf?>"><strong><?=$nomeevento?></strong><br>
 
Precisaria envia-las via metodo post.
 
Como ficaria o link?
 


--
Matias Lovison
TI - Tecnologia da Informação
54 8406 0511
54 3293 2558

Felipe Groos

unread,
Oct 20, 2008, 11:54:55 PM10/20/08
to lista...@googlegroups.com
Oi Matias,

De modo geral:
via url = get
via submit do formulario = get/post

a diferenca mais marcante 'e que o post nao aparece na url, portanto, se tu usar post nao vai ter nada na url.

Abracos
Felipe Groos


2008/10/20 Matias Lovison <matias...@gmail.com>

Fabio Silveira

unread,
Oct 21, 2008, 9:36:59 AM10/21/08
to lista...@googlegroups.com
na verdade, a diferença mais marcante é o tamanho das variáveis, GET tem um limite de tamanho já o POST não pois ele faz uma "gambiarra" inserindo as variaveis no cabeçalho do protocolo.
Curiosidades a parte...   não vejo necessidade para usar POST no seu caso mas, a solução mais prática para enviar por POST seria: ou enviar via form em inputs do tipo hidden ou passar estes valores por SESSION o que também é muito prático!

Fábio Silveira

2008/10/21 Felipe Groos <felip...@gmail.com>

Ernani Azevedo

unread,
Oct 21, 2008, 7:49:33 AM10/21/08
to lista...@googlegroups.com
Matias,

Existem diversas maneiras, todas que conheço são por JavaScript. A mais simples ficaria assim:

<form action="eventos_certificados_impressao.php" method="post" id="formulario">
<input type="hidden" name="codevento" value="<?php echo $codevento; ?>" />
<input type="hidden" name="cpf" value="<?php echo $cpf; ?>" />
</form>
<a href="#" onclick="document.getElementByID('formulario').submit (); return false"><strong><?php echo $nomeevento; ?></strong></a><br />

Basicamente se faz um formulário somente com campos escondidos, e no link se faz uma chamada onclick acionando o envio do formulário.
Você também pode fazer isto através de chamada AJAX, mas aí é mais complicado e a atualização do conteúdo também muda bastante.
--
Ernani Azevedo

2008/10/20 Matias Lovison <matias...@gmail.com>

Jaydson Gomes

unread,
Oct 21, 2008, 6:30:29 AM10/21/08
to lista...@googlegroups.com
Matias, complementando o que o que o Felipe disse, as diferenças entre os métodos GET e POST¨vão além de os dados passarem ou não pela URL.
Te aconselho dar uma lida a respeito, é sempre bom.

Diferenças GET e POST
http://www.cs.tut.fi/~jkorpela/forms/methods.html

Especificação HTML
http://www.w3.org/MarkUp/html-spec/html-spec_8.html#SEC8.2.2

Para enviar os dados via método POST tu não cria um link, e sim submete um formulário.
As variaveis são definidas pelo atributo name em cada input que tiver no formulário.
Este formulário deve ter especificado qual a página que os dados serão submetidos e também o método deve ser especificado como POST, pois por padrão o método é GET.
Exemplo:
<form method="POST" action="pagina.php">

Nesta página PHP, tu tens acesso aos dados do formulário e pode pega-los pela variavel $_POST.



Jaydson Gomes


2008/10/21 Felipe Groos <felip...@gmail.com>



--
Jaydson Gomes
Desenvolvedor WEB
http://www.springerit.com
(51)915-56-894

rodrig...@pop.com.br

unread,
Oct 23, 2008, 10:58:40 AM10/23/08
to lista...@googlegroups.com
Olá Matias,
Conforme a tua pergunta, vc pode mandar os dados de "codevento" e "nomeevento" para a página eventos_certificados_impressao.php em campos ocultos:
<form action="eventos_certificados_impressao.php" method="POST">
<input type="hidden" name="codevento" value="<?=$codevento?>" />
<input type="hidden" name="nomeevento" value="<?=$nomeevento?>" />

Não sei se é essa a idéia..... espero ter ajudado!!!!!!
Abraços,

Rodrigo Prado
Desenvolvimento WEB
Fone: (51) 9365-2959
Reply all
Reply to author
Forward
0 new messages