Jump to content


Validar Dados


  • Faça o login para participar
5 replies to this topic

#1 Visitante_Robson

Visitante_Robson
  • Visitantes

Posted 19/10/2003, 23:25

preciso validar os dados de um formulario, mas que aceite apenas numeros. e se tiver qualquer caractere que não seja numero quero que a variavel seja vazia, como eu faço isso? tentei usar o eregi mas não funcionou:

if (eregi('^[0-9]', $codusuario)) {
$cod = $codusuario;
}
else{
$cod = "";
}

valeu!

#2 goiaba2000

goiaba2000

    Tô com sono!

  • Usuários
  • 1118 posts
  • Sexo:Não informado
  • Localidade:Sobradinho-DF

Posted 21/10/2003, 00:29

oque $cod está retornando?
PHP + UML + OO + Flash + MySQL = IMBATIVEL

http://www.guilardi.com.br
- portifólio
http://www.deusehmais.com.br
- projeto atual

#3 Robson

Robson

    Turista

  • Usuários
  • 46 posts
  • Sexo:Não informado

Posted 21/10/2003, 01:16

o $cod está retornando exatamente o que o usuario digita.

o que eu queria é que por questões de segurança, a variavel aceitasse só numeros, mas do jeito que está , tá aceitando qualquer caractere.

#4 Cristiano Galdino

Cristiano Galdino

    Dark Defender

  • Administradores
  • 3738 posts
  • Sexo:Masculino
  • Localidade:Brasília, DF

Posted 21/10/2003, 01:30

Da uma olhada na função do PHP, is_numeric.
http://br2.php.net/m....is-numeric.php
Cristiano Galdino
- http://cristiano.galdino.net/

“Since 2003”


#5 Dami Izolan

Dami Izolan

    It's me!

  • Usuários
  • 212 posts
  • Sexo:Não informado
  • Localidade:Curitiba/PR - Brasil
  • Interesses:Arte digital, mulheres, carros.

Posted 21/10/2003, 09:23

Cara, eu faria exatamente do jeito q vc fez... Mas eu iria colocar o padrão como o valor de uma variável. Ah, e se vc puder, mostra o código do formulário tb ;)
<?php
$codusuario = trim ($codusuario);
$padrao = "^[0-9]+"
if (eregi($padrao, $codusuario)) {
$cod = $codusuario;
} else {
$cod = "";
}
?>
Eu coloquei um + no final pq o + significa "pelo menos um" do q vem antes... ;) Vai ver era esse o problema.

Edição feita por: Dami Izolan, 21/10/2003, 09:24.

"A tradição é a personalidade dos imbecis." (Albert Einstein)

#6 Visitante_Robson

Visitante_Robson
  • Visitantes

Posted 21/10/2003, 16:21

procurei por alguns tutoriais na net e consegui resolver o problema:



$codusuario = trim($_GET['cod']);
if (eregi("^[0-9]{2,4}$", $codusuario)) {
$cod = $codusuario;
}
else{
$cod = "0";
}


o que alterei foi o seguinte:

- primeiro segui a dica do Dami e acrescentei a função trim para retirar os espaços em branco da variavel
- depois coloquei essa chave {2,4}, que indica que a variavel deve ter entre 2 a 4 caracteres (apenas numeros)
- e ao final acrescentei o $, que é o caractere que indica que o fim da expressão, era por isso que o codigo não estava funcionando.
- tambem troquei as aspas simples pelas duplas, pode ser que estava havendo erro por causa disso
- e no final, coloquei o valor 0 para a variavel, caso o usuario coloque algum caractere diferente de numeros.

valeu a todos que tentaram me ajudar.




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq