Ir para conteúdo

POWERED BY:

Arquivado

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

Fabyo

Pega todos dados do formulário de uma vez

Recommended Posts

Essa função pega todos os dados vindo de um formulario e ja cria as variaveis com mesmo nome do campo do formulario

 

foreach ($_POST as $campo => $valor) { $$campo = $valor;}

 

muito util para sistemas de cadastros com muitos campos

dai economize varias linhas de codigo

 

nao precisa ficar fazendo isso:

$campo = $_POST["campo"];

$campo2 = $_POST["campo2"];

$campo3 = $_POST["campo3"];

$campo4 = $_POST["campo4"];

$campo5 = $_POST["campo5"];

etc...

basta usar a função foreach

 

e se for get só mudar na função e se você nao sabe qual metodo pode vir

entao use REQUEST

 

é muito util tbm para você passar um função em todos os campos mais pratico

exemplo:

 

//pega todos os campos do formulario e ainda passa a função anti_injection em todos os campos

PHP

 

 

foreach ($_POST as $campo => $valor) { $$campo = anti_injection($valor);}

 

outro exemplo util:

 

foreach ($_POST as $campo => $valor) { $$campo = trim(strip_tags($valor));}

 

qualquer duvida ou orientação de como usar em outros caso poste ai

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola Fabyo! Faz um tempo que procuro alguem que possa me explicar como funciona a funcao 'foreach'. Li no manual do php, procurei em sites, mas ainda nao entendi. (Espero que nao seja um problema mental :lol: )Bom, argumentando a respeito do que voce criou, este metodo para passar variaveis vindas de um form para variaveis internas, achei criativo, meus comprimentos ! http://forum.imasters.com.br/public/style_emoticons/default/clap.gif Mas... esses ultimos dias tava fazendo uma parte de um script meu, nele eu uso as variaveis dos forms como array, exemplo:

...<input name='p[nome]' ......

Depois, as recebo no script e ja passo para uma outra variavel interna, que uso como array tambem! Exemplo:

...// i = internal    p = post$i = $_POST['p'];...

OU com o anti_injection para limpar a variavel:

...$i = anti_injection($_POST['p']);...

Isso é a mesma coisa que voce fez mas de um modo mais facil penso eu! :P Nao posso deizer se é melhor porque nao entendo a funcao 'foreach' http://forum.imasters.com.br/public/style_emoticons/default/blush.gif Bom, é isso, espero ter ajudado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entao você nao entendeu a função nem a praticidade dela entao vou explicar porque usar ela e suas vantagens

 

pra começar o foreach é um loop e nesse exemplo eu pego todos os campos do formulario de uma vez só e ja crio a variavel com mesmo nome

 

Campos do formulario:

 

etc...

 

dai você pegaria essas variaveis sem usar foreach assim:

 

exemplo sem usar o foreach

 

$nome = $_POST["nome"];

$sobrenome = $_POST["sobrenome"];

$endereco = $_POST["endereco"];

$bairro = $_POST["bairro"];

$cidade = $_POST["cidade"];

$telefone = "$_POST["telefone"];

$celular = $_POST["celular"];

$login = $_POST["login"];

$senha = $_POST["senha"];

$email = $_POST["email"];

etc...

 

Usando a função foreach que eu fiz simplificaria isso numa linha só e faria todo trabalho acima exemplo:

 

exemplo com o foreach

foreach ($_POST as $campo => $valor) { $$campo = $valor;}

 

simples dai depois do foreach você ja poderia usar as variaveis que veio do formulario

agora imagina se tivesse muito mais campo teria muito trabalho você ficar pegando os campos um por um a programação ta ai pra ajudar nossas vidas e facilitar o trabalho

nao sei se você consegue entender agora ,mas acho que deu pra você notar que alem de economizar muitas linhas ainda nao se perdeu tempo com isso

 

mas se você ainda nao entendeu e tem duvidas posta ai que tentarei explicar melhor

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que sua funcao faz é muito util mesmo, eu entendi o que ela faz sim, o que queria que voce me explicasse era a SUA funcao em partes, para eu poder entender seu raciocinio para, ai sim, entende-la melhor e tentar usa-la ! :P

 

Talvez eu nao tenho explicado direito, me desculpe! Era isso que disse que queria entender... http://forum.imasters.com.br/public/style_emoticons/default/grin.gif

 

 

OBS: Se voce puder olhar a alternativa que postei antes e dizer se é boa, agradeceria, porque se for ruim, ai vou usar a sua ! :D

 

Valew pela explicacao ! E, eu li seu curso, ficou muito com !! Parabens ! http://forum.imasters.com.br/public/style_emoticons/default/clap.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como conversamos por msn, vou postar a sua duvidas sobre $$

 

$$ esta criando uma variavel como no exemplo acima a $campo tem um valor e se você usa $$ você esta criando outra variavel com aquele valor

 

no exemplo acima ele ta criando as $nome, $sobrenome, etc...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Essa função pega todos os dados vindo de um formulario ...

Só uma correção, a função faz um loop num array, pegando a chave e o valor.O array é independente de ter vindo de um formulário ou não.outra forma de fazer isso:

while(list($chave, $value) = each($_POST)) { //$$chave = $value; echo "".$chave; echo ": ".$valor; //echo "";}

Compartilhar este post


Link para o post
Compartilhar em outros sites

só comentando quando eu disse que essa função pega os dados vindos do formulario é porque esta usando $_POST entao esta certo o que eu disse

mas claro se nao for usar $_POST pode usar para pegar de um array tbm

Compartilhar este post


Link para o post
Compartilhar em outros sites

pegou nao....foreach($_POST as $campo => $valor){$$campo = trim($valor);}for($i=1;$i<=$comps;$i++){$teste="alunonome".$i;}for($i=1;$i<=$comps;$i++){echo $$teste."<br>";}isso naum pega???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Em Repeito ao mestre ta pesquisando na net e encontrei e fui mais a fundo no manualhj eu uso esse import_request_variables(p,k_);echo $knome;ou seja ele pegar todos name do formulariocomo eu pedir para colocar esse "k_";tipo e assim eu pego os name do formulario vindo de p="post ou g="get"e gentilmente coloquei um K_ para atrapalhar o meu hacker favorito ou seja ficar assim $k_nome,$k_telefone bem legal não acharkakaroto!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Essa função pega todos os dados vindo de um formulario e ja cria as variaveis com mesmo nome do campo do formulario

foreach ($_POST as $campo => $valor) { $$campo = $valor;}

$campo = $_POST["campo"];$campo2 = $_POST["campo2"];$campo3 = $_POST["campo3"];$campo4 = $_POST["campo4"];$campo5 = $_POST["campo5"];etc...

Faz a mesma coisa, só que mais rápido, por ser uma função nativa do PHP.http://br.php.net/extract

Compartilhar este post


Link para o post
Compartilhar em outros sites

Extract nao é apropriado para fazer isso, e nao tem nada haver com velocidade e nativo, ambas sao funções do php

e outra coisa foreach é mais rapido, no proprio manual na função extract diz isso

Compartilhar este post


Link para o post
Compartilhar em outros sites

Essa função pega todos os dados vindo de um formulario e ja cria as variaveis com mesmo nome do campo do formulario

foreach ($_POST as $campo => $valor) { $$campo = $valor;}

muito util para sistemas de cadastros com muitos campos dai economize varias linhas de codigonao precisa ficar fazendo isso:

$campo = $_POST["campo"];$campo2 = $_POST["campo2"];$campo3 = $_POST["campo3"];$campo4 = $_POST["campo4"];$campo5 = $_POST["campo5"];etc...

basta usar a função foreache se for get só mudar na função e se você nao sabe qual metodo pode virentao use REQUESTé muito util tbm para você passar um função em todos os campos mais praticoexemplo://pega todos os campos do formulario e ainda passa a função anti_injection em todos os campos<!--php1--><div class='phptop'>PHP</div><div class='phpmain'><!--ephp1--><link href = "style_images/css_php.css" rel = "stylesheet" type = "text/css"><font color="#0080D5">foreach </font>(<font color="#1C8C00">$_POST</font> as <font color="#1C8C00">$campo</font> => <font color="#1C8C00">$valor</font>) { $<font color="#1C8C00">$campo</font> = <font color="#0080D5">anti_injection</font>(<font color="#1C8C00">$valor</font>);}<!--php2--></div><!--ephp2-->outro exemplo util:

foreach ($_POST as $campo => $valor) { $$campo = trim(strip_tags($valor));}

qualquer duvida ou orientação de como usar em outros caso poste ai
Já que você tocou no nome "REQUEST", será que pode me explicar porque tento usar o $_POST para pegar as variáveis vindas de um formulário enviado com método POST, e não consigo pegar estes valores, só consigo com $_REQUEST, alguma dica.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Poxa Fabyo, agora que vi esta funcionalidade, muito bacana.Mas não conseguir compreender bem sobre os $$, poderia explicar novamente sobre elas? Ou indicar um link para leitura?No manual só tem um exemplo, mas não aborda sobre $$.Um abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu Fabyo, agora compreendi bem.No caso as variáveis estão sendo criadas como o mesmo nome que as chaves (especificas na função foreach) terão? certo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

desculpe a minha ignorancia :)

 

foreach ($_POST as $campo => $valor) { $$campo = $valor;}

da onde saiu o $campo e o $valor ?

e tb o pq do $$campo ? pq tem $$ ?

 

Variáveis variáves é um recurso que usa o valor de uma variável como nome de outra.

 

$jota = "nome" ;

$$jota = "Bush" ; // A partir de agora, a variável $nome tem valor Bush

echo "Meu nome é: $nome" ;

 

Sáida: Meu nome é: Bush

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.