Ir para conteúdo

POWERED BY:

Arquivado

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

Luiz Otávio Foreba

[Resolvido] Como criar variáveis do $_POST automaticamente

Recommended Posts

Amigos, talvez eu esteja falando bobagens, mas estava fazendo um formulário aqui que tem mais de 50 campos, e estava fazendo da forma mais simples, ou seja:

 

<?php
if(isset($_POST))
{

function trata($valor)
{
	$valor = trim($valor);
	$valor = strip_tags($valor);
	$valor = addslashes($valor);
	return $valor;
}

$nome = trata($_POST['nome']);
$email = trata($_POST['email']);
$outro_campo = trata($_POST['outro_campo']);
// E ASSIM POR DIANTE

}
?>

 

Gostaria de saber se existe alguma forma de fazer isso automaticamente, ou um modo mais simples, por que o código está ficando gigante!

 

Desde já agradeço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso nao tem a ver com mysql...

 

esse codigo de exemplo apenas geara as variáveis automaticamente..

daí pra frente, para montar a query sql, conectar no banco de dados, etc, é outro assunto..

 

basicamente concatene as variáveis das quais necessita, monte a query e insira no banco..

 

se n!ao souber como conectar no bacno, basta estudar os milhares de exemplos dispon;iveis na net

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso nao tem a ver com mysql...

 

esse codigo de exemplo apenas geara as variáveis automaticamente..

daí pra frente, para montar a query sql, conectar no banco de dados, etc, é outro assunto..

 

basicamente concatene as variáveis das quais necessita, monte a query e insira no banco..

 

se n!ao souber como conectar no bacno, basta estudar os milhares de exemplos dispon;iveis na net

 

Eu entendi, só preciso de um exemplo para montar apenas isso:

 

Exemplo basicão:

 

$sql = INSERT INTO tabela (campo, campo, campo) VALUES ($v, $v, $v);
$query = mysql_query($sql);

 

Por que se eu fizer desse jeito:

 

if( isset( $_POST ) )
{
   foreach( $_POST as $k => $v )
   {
       $$k = trata( $v );
       $sql = INSERT INTO tabela (campo, campo, campo) VALUES ($v, $v, $v);
       $query = mysql_query($sql);
   }
}

 

Vai acrescentar o mesmo numero de campos do $_POST dentro da base de dados, entendeu?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso é questão básica de lógica de programação..

Coloque o mysql_query fora do loop se o intuito não for usá-lo desse modo.

 

off topic:

A cada post você posta uma direção diferente do que está fazendo.

Seja objetivo caso queira alguma ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que ele não entendeu, é que bem aqui:

       $$k = trata( $v );

 

A variável é o nome do campo. Amigo, aconselho você a estudar melhor PHP, pois isso é um conceito básico sobre PHP, e o hinom até passou um link: http://php.net/manual/en/language.variables.variable.php

 

Ou seja, se você tem um formulário que envia os campos: nome, email e senha.

As variáveis serão:

$nome

$email

$senha

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que ele não entendeu, é que bem aqui:

       $$k = trata( $v );

 

A variável é o nome do campo. Amigo, aconselho você a estudar melhor PHP, pois isso é um conceito básico sobre PHP, e o hinom até passou um link: http://php.net/manual/en/language.variables.variable.php

 

Ou seja, se você tem um formulário que envia os campos: nome, email e senha.

As variáveis serão:

$nome

$email

$senha

 

A sim, agora eu entendi... Agradeço a ajuda de vocês!

 

Só para constar, fiz o teste e deu certinho, veja abaixo:

 

<form method="post">
<input type="text" name="nome" /><br />
<input type="text" name="email" /><br />
<input type="password" name="senha" /><br />
<input type="submit" name="Enviar" /><br />
</form>
<?php
if(isset($_POST['Enviar']))
{

function trata($valor)
{
	$valor = trim($valor);
	$valor = strip_tags($valor);
	$valor = addslashes($valor);
	return $valor;
}
foreach($_POST as $k => $v){
	$$k = trata($v);
}
echo "Nome:" . $nome . "<br />";		
echo "Email:" . $email . "<br />";		
echo "Senha:" . $senha . "<br />";		
}
?>

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.