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!
Validar Dados
Started By
Visitante_Robson
, 19/10/2003, 23:25
5 replies to this topic
#1 Visitante_Robson
Posted 19/10/2003, 23:25
#2
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
http://www.guilardi.com.br
- portifólio
http://www.deusehmais.com.br
- projeto atual
#3
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.
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
Posted 21/10/2003, 01:30
#5
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
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.
$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)