Ir para conteúdo
Fórum Script Brasil
  • 0

Foreach Em Funções E Vars


lemissel

Pergunta

Ae gurizada, eu tenho formlários muito grandes, e precisei fazer um cód pra "abreviar" as variáveis, utilizei o foreach, dae eu pensei em fazer para as funções que essas vars tb precisam... mas n funciona...

fiz o código assim:

 foreach($_POST as $campo => $valor){    
    $$campo=$_POST['$valor'];     //essa linha funciona
    $$campo=addslashes($valor);
    $$campo=strtoupper($valor);
    echo "$campo: $valor<br>";    //essa linha funciona hehehe
  }

Se alguém puder me ajdar por favor...

Valeuuuuuu

Link para o comentário
Compartilhar em outros sites

12 respostass a esta questão

Posts Recomendados

  • 0

Tá vo tenta...

tp, o objetivo é que eu tenha todas as variáveis do formulário abreviadas

$$campo=$_POST["$valor"];
essa variável precisa estar com barras invertidas pra entrar no bd
$$campo=addslashes($valor);
e também precisa estar todas em letras maiúsculas
$$campo=strtoupper($valor);
dae eu fiz esse cód q postei lá em riba, mas quando eu dei aquele echo sacana lá, me mostrou assim: digamos q eu tenha um campo "nome" e o valor atribuido é "leo":
nome: leo
tá blza, só q n ficou em maiúsculas e se precisasse de barras tb n teria pego... e o q funcionou foi os esquemas das variaveis e tals... porque se eu chamar:
echo $nome; //retorna "leo" na boa :)  td certo

resumindo, addslashes e strtoupper n estao dando certo no cód...

wink.gif

Editado por lemissel
Link para o comentário
Compartilhar em outros sites

  • 0

Seguinte, cara, você não entendeu como funciona o $$var.

Se $var é "leo" e você faz algo como:

$$var = 'foo'

Você acabou de criar uma variável $leo e você tem que chamá-la dessa forma.

Aquelas linhas em que você atribui cria uma variável usando $$campo, você está mudando o valor daquela variável 3 vezes mas não está chamando ela depois.

Entendeu?

Link para o comentário
Compartilhar em outros sites

  • 0

xiii enton to fazendo merda mesmo...

mas ó, eu fui da uma de esperto e tirei o $ q tava a mais nas 3 linhas blink.gif pois é, dae ficou o "valor: valor" como se fosse "leo: leo" sad.gif e tb n contnuo n funfando o resto das porquera...

dá uma mão ae... n me xinga hehehheh

só pra ver se eu entendi: se eu tenho $$campo=$valor no qual $campo é igual a nome e $valor é igual a leo eu a chamo assim depois $nome q vai me retornar leo???
Editado por lemissel
Link para o comentário
Compartilhar em outros sites

  • 0

Funciona da seguinte forma, cara, quando você faz um $$foo você tem que raciocionar como se a parte em vermelho fosse substituída pelo valor daquela variável, entende?

Se você tem:

$foo = 'nome';

$bar = 'leo';

$$foo = $bar;

~

Você acabou de criar a variável $nome e deu a ela o valor 'leo'.

Entendeu?

Se não entendeu é só dizer, que eu explico de novo. smile.gif

Como você está querendo criar atalhos, acho que esse é um péssimo jeito de fazer, se eu fosse você, colocaria essas variáveis dentro de uma array, se for preciso até uma array multidimensional. Fica muito mais organizado e fácil de entender. smile.gif

Mesmo que você não queira mais usar isso, é legal saber como funciona. wink.gif

Link para o comentário
Compartilhar em outros sites

  • 0

pela explicação do erro404


foreach($_POST as $campo => $valor){    
   $campo=$_POST['$valor'];     //essa linha funciona
   $campo=addslashes($campo);
   $campo=strtoupper($campo);
   echo "$campo: $valor<br>";    //essa linha funciona hehehe
 }

acho que é isso wink.gif

se não tiver desconsidere.......rsrsrsr

Link para o comentário
Compartilhar em outros sites

  • 0

cara o fabyo já posto esse script aqui no forum 200000 de vezes...

é bem simples:

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

tente entender a logica disso, vamos desdo comeco..

o que é um foreach?

- ahhh, é um looping

certo, o que é um loop?

- aquele negocio la que pega todos os dados da array

é, em leigas palavras é isso, certo, agora me responde, o que é o $_POST e o $_GET ?

- ahh o que busca os dados enviados do form

isso eu sei, mais o que ele é? variavel ? array ? nenhuma das opcoes ?

- deve ser array pois ele pode conter varios dados

isso !

pela historinha acima já da para entender como o processo funciona ne cara ?

voce entendendo como funciona fica facil..

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

$$campo = addslashes(strtoupper($valor));

}

tentai e ve se funciona !

falou cara

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...