Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Fala galera
Mais uam vez tenho dúvidas:
Gostaria de fazer uma função que trate minhas variáveis e retorne o valor do erro e a variável com erro, caso ocorra ex:
home.php
//valida preenchimento do campo
verificapreenchimento('usuario_nome' , $usuario_nome);
function.php
function verificapreenchimento($campo, $var){
if (empty($var)) {
print "erro1<br />";
return $erro_.$campo = 1;$erro++;
}
Fico no aguardo
vlw e t+
tu quer validar se foi preenchido algum campo?
<?php
function verificapreenchimento($var, $campo) {
if(empty($var)){
echo "erro <br />";
return $erro_.$campo = 1;$erro++;
}
}
$teste = "";
verificapreenchimento($teste, "usuario");
?>
isto? :s
EDIT
Qual o sentido disso ?
return $erro_.$campo = 1;$erro++;
Você está concatenando duas variáveis, sendo que uma você não existe(criou apenas para concatenar) e outra está recebendo uma atribuição ao mesmo tempo que está concatenando.
Outra coisa, essa variável $erro++, não serve para nada, porque depois do return o script executa apenas o primeiro comando e "ignora" o resto do script.
Quer retornar 1, então retorne 1.
return 1;
Configure seu código para exibir TODAS as mensagens de erro, adicionando este código à primeira linha do script e teste seu script novamente.
<?php
ini_set( 'display_errors', true );
error_reporting( E_ALL );>
tu quer validar se foi preenchido algum campo?
sim, se foi preenchido corretamente retorna a variável, caso preenchido errado retorna a variável $erro_usuario_nome
assim, quero substituir esse código por uma função:
.
.
.
if(empty($usuario_nome)){
$erro++;
$erro_usuario_nome = 1;
} $erro++;
$erro_usuario_endereco = 1;
}
.
.
.
depois vem o item
<label class="css" id="usuario_nome" for="usuario_nome" title="usuario_nome">Nome:</label>
<input type="text" name="usuario_nome" id="usuario_nome" alt="usuario_nome" border="borda" class="css" size="100" maxlength="50"
<?php
if(!empty($usuario_nome)){ print "value=\"".$usuario_nome."\""; }
if(!empty($erro_usuario_nome)){ print "class=\"erro\""; }
?>
/>
a idéia é, verificacampo($var, $campo);
no primeiro item inserir a variável para que seja dinâmico, podendo assim inserir mais de uma variável (nome, endereço, cidade e etc);
no segundo campo seria o nome do campo q quero substituir($erro_usuario_nome = 1; que seria o retorno da função return $erro_.$campo = 1;)
se alguém tiver alguma idéia melhor que faça isso agradeço, mas n encontrei
vlw as respostas mas ainda não consegui fazer essa função, espero que tenham entendido melhor agora
vlw e t+
Qual a nessecidade disso ? e pra que ese ++ no $erro, e onde ta a $erro ?
>
Qual a nessecidade disso ? e pra que ese ++ no $erro, e onde ta a $erro ?
o ++ é pra incrementar pois para a inserção no banco é feita uma verificação no topo da página home ex
if($erro <>0){
executa o insert
}else{
print"preencha os campos";
}Galera achei uma maneira paleativa, porém preciso saber como retornar mais de um valor na function:
Home
$erro =& verificapreenchimento($usuario_nome, 'usuario_nome');
.
.
.
<label class="css" id="usuario_nome" for="usuario_nome" title="usuario_nome">Nome:</label>
<input type="text" name="usuario_nome" id="usuario_nome" alt="usuario_nome" border="borda" size="100" maxlength="50"
<?php
if(!empty($usuario_nome)){ print "value=\"".$usuario_nome."\""; }
if(!empty($erro_usuario_nome)){ print "class=\"erro\""; }
?>
/>
funciotn.php
function &verificapreenchimento($var, $campo){
if (empty($var)) {
$erro =+ 1;
return $erro;
}
}
outra maneira que encontrei foi transformar essa resposta da function em array, porém estou com problemas para extrair, pois eu preciso nesse caso do indice 2 do array como uma variável ($erro_usuario_nome), mas ele não entra como existente.ex:
function.php
function &verificapreenchimento($var, $campo){
if (empty($var)) {
$erro =+ 1;
$campoerro = 'erro_usuario_nome';
$var = array($erro, $campoerro);
return $var;
}
home.php
//inicia o valor 0 ao item erro
$erro = 0;
//valida preenchimento do campo
$erro1 =& verificapreenchimento($usuario_nome, 'usuario_nome');
(count($erro1) > 0) ? extract($erro1):false;
print_r($erro1);
isset($erro_usuario_nome)? print"ok":print"nok";
se eu der print no $erro1 ele me apresenta os dois índices [0]1 [1]erro_usuario_nome mas se eu printar a variável $erro_usuario_nome (indice 2) ele n aparece nd
um help aew pf
t+
Qual sua duvida ?