-1

Trabalhando com Variáveis de Formulários

criado por Luiz Rafael em 31/01/2003 11:42am
Como já disse, ao enviar um formulário, ele envia as variáveis e seus valores para o script especificado no ACTION.

O PHP também consegue trabalhar com essas variáveis apenas pelo $nomevar, mas em alguns servidores onde o "register_globals = Off" no config do PHP, tem que ser digitado: $HTTP_GET_VARS["nome_var"] ou $HTTP_POST_VARS["nome_da_var"] e isso é realmente chato, pois para cada vez que utilizar uma variável terá que digitar este $....[].

No caso do método GET, já existe uma função predefinida(parse_str) no PHP que transforma a STRING em variáveis, por exemplo:

arquivo.php?nome=Luiz&idade=17&cidade=RJ

Ao utilizar o comando: parse_str($_SERVER['QUERY_STRING']), onde $_SERVER['QUERY_STRING'] seria a string enviada, ele criará automaticamente as variáveis:

<?php
$nome = "Luiz";
$idade = 17;
$cidade = "RJ";
?>

No caso do POST eu criei uma função que faz esta mesma função:

<?php
for ($i = 0; $i < count($HTTP_POST_VARS); $i++) {
    while (list($chave,$valor) = each($HTTP_POST_VARS)) {
        global $$chave;
        $$chave = $valor;
    }
}
?>

Esta função faz a mesma função do parse_str, mas para o método POST. Ele lê cada variável do array $HTTP_POST_VARS e transforma em uma variável direto no PHP.

Espero ter ajudado a alguém, qualquer coisa envie um comentário abaixo.

Abraços,
LR

Comentários:

Mostrando 1 - 10 de 21 comentários
Marco Tulio disse:
Quero enviar a pagina convite do site por meio de um formulario q contem nome do destinatario, email, nome remente, mensagem

com envio a pagina convite pra um email
pode ser em html ou php
por favor me ajudem eu num sei mudo de ambas as linguagem.......
agradeco deste ja
falowwww
galera
30/04/2005 9:48pm (~19 anos atrás)

José Beiriz disse:
Carregar p/ variável o valor do <select> antes de ser apertado o "submit". A variável iria para uma popup... e o submit carrega outro .PHP via POST(aqui tudo bem)Ajudem-me...
19/04/2005 3:38pm (~19 anos atrás)

Galera Valeu!!!
Funcionou!!!
13/03/2005 11:35am (~19 anos atrás)

Paulo Sérgio disse:
Será que alguem pode me ajudar? Estou utilizando o sistema de recomenda site em php, conforme os dados principais abaixo, só que ele indica o site como um todo, eu quero que a partir de um link em uma determinada página possa acessar este formulário e enviar aquela página de onde estava o link. Será que é possivel? o que fazer, pois sou inesperiente.
$GLOBALS["url"]="http://www.meusite.com.br";
$GLOBALS["path"]="arquivo.php";

<form method="post" action="<?PHP echo $GLOBALS["path"]; ?>">
<input type=hidden name="url" value="<?PHP echo $GLOBALS["url"]; ?>">
<--outros campos do formulário-->
<input type="submit" name="submit" value="Enviar">
06/01/2005 8:35am (~19 anos atrás)

vc tem alguma ideia pra eu resolver os campos com checkbox? que quando eu marco mais de uma alteranativa ele só me vem a ultima.
grato
23/08/2004 7:38am (~19 anos atrás)

quando os campos são checkbox a funçào q lê pega apenas o ultimo casa seja clicado varios itens.
pode me dar uma luz?
22/08/2004 6:24pm (~19 anos atrás)

Valeu cara, seu script praticamente salvou minha vida....rs
22/08/2004 6:18pm (~19 anos atrás)

Como eu faço para evitar que os dados sejam novamente postados (cadastrados no banco) ao atualizar a página?
22/01/2004 6:30am (~20 anos atrás)

foreach($HTTP_POST_VARS as $chave => $valor) {
global $$chave;
$$chave = $valor;
}

aki fucionou assim :~P

tipo, pra vc ai ke deleta todas..
saka soh, vc tem ke pegar o $id do FORM antes...
$id = $HTTP_POST_VARS['id']; eh uma opção pra vc usar antes de dar o query com where :PP
17/03/2003 9:29pm (~21 anos atrás)

<?
if(!isset($acao)){
?>
<form action="boletim.php" method="get">
<input type=radio name=acao value=cadastro>Cadastrar
<input type=radio name=acao value=descadastro>Descadastrar
<input type=submit value="Confirmar">
</form>
<?
}elseif($acao=='cadastro'){
Código para cadastrar
} elseif($acao=='descadastro') {
codigo pra descadastrar
}
?>

caso num de certo com $acao use $_POST[acao]
19/02/2003 10:10pm (~21 anos atrás)

Novo Comentário:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)