Rui Carlos Posted December 6, 2006 at 11:44 PM Report #69267 Posted December 6, 2006 at 11:44 PM existe alguma função em php para verificar se um valor introduzido num formulário é um inteiro? já experimentei o 'is_numeric' mas esta também devolve TRUE se forem números decimais. Rui Carlos Gonçalves
Triton Posted December 7, 2006 at 12:11 AM Report #69273 Posted December 7, 2006 at 12:11 AM is_int() <3 life
Rui Carlos Posted December 7, 2006 at 12:19 AM Author Report #69277 Posted December 7, 2006 at 12:19 AM is_int() não serve porque o valor devolvido por um formulário é sempre uma string. o 'is_numeric' permite ver se a string corresponde a um número, mas não obriga a que seja inteiro. precisava de uma função do género da 'is_numeric' mas que devolvesse TRUE para inteiros. Rui Carlos Gonçalves
shumy Posted December 7, 2006 at 12:49 AM Report #69278 Posted December 7, 2006 at 12:49 AM experimenta ereg com algo do genero ^[0-9]*$ Não foi testado. Aqui há coisa de 2 anos fazia umas malhas de croché, depois fartei-me e fui para informática!
djthyrax Posted December 7, 2006 at 12:50 AM Report #69279 Posted December 7, 2006 at 12:50 AM is_int() não serve porque o valor devolvido por um formulário é sempre uma string. o 'is_numeric' permite ver se a string corresponde a um número, mas não obriga a que seja inteiro. precisava de uma função do género da 'is_numeric' mas que devolvesse TRUE para inteiros. is_int($var+0); Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!
kingless Posted December 7, 2006 at 12:57 AM Report #69282 Posted December 7, 2006 at 12:57 AM Pelo que eu saiba não existe nenhuma função que faça isso... Queres que os numeros introduzidos no formulario sejam apenas inteiros ? se queres que os numeros introduzidos no formulario sejam inteiros podes transforma-los em inteiros... (int), float(), ceil(), floor();... Se explicares para que serve o código talvez eu te arrenje outra solução... Experimenta if(ereg(',', $_POST['xpto'])) { echo "O numero não é inteiro"; }
karva Posted December 7, 2006 at 07:32 AM Report #69296 Posted December 7, 2006 at 07:32 AM @kingless isso nao devolve se for inteiro, mas sim se nao tiver virgulas. 1025,00000 tem virgula, mas no entanto e um numero inteiro... Proud LEIC-A@IST student!
shumy Posted December 7, 2006 at 09:55 AM Report #69299 Posted December 7, 2006 at 09:55 AM Que tal olharem para o meu post anterior! É assim tão dificil? ^[0-9]*$ e esse número 1025,0000 pode muito bem ser rejeitado. Aqui há coisa de 2 anos fazia umas malhas de croché, depois fartei-me e fui para informática!
Rui Carlos Posted December 7, 2006 at 10:35 AM Author Report #69301 Posted December 7, 2006 at 10:35 AM Que tal olharem para o meu post anterior! É assim tão dificil? ^[0-9]*$ e esse número 1025,0000 pode muito bem ser rejeitado. penso que isso já resolve o problema... não vou aceitar valores com vírgulas ou pontos (mas também isso acho que era fácil de fazer com exp. regulares). is_int($var+0); não experimentei isso, mas penso que também não ia funcionar, pois o php consegue somar strings com inteiros... Rui Carlos Gonçalves
kingless Posted December 7, 2006 at 01:33 PM Report #69336 Posted December 7, 2006 at 01:33 PM Que tal olharem para o meu post anterior! É assim tão dificil? ^[0-9]*$ e esse número 1025,0000 pode muito bem ser rejeitado. Nós reparamos no teu post 😄 nao fiques chateado por termos tambem falado em Exp. regulares lool 😄😉
Saco Posted December 7, 2006 at 01:43 PM Report #69339 Posted December 7, 2006 at 01:43 PM Quanto à questão de o 1025,0000 ser rejeitado... nada mais fácil... ^[0-9]*,0*$ E depois aproveitar só até à virgula. Mas nem sei se será relevante para este caso...
nuno_couto Posted December 9, 2006 at 01:42 PM Report #69717 Posted December 9, 2006 at 01:42 PM Boas. ctype_digit($var) deve resultar. portalmundial.net »» criamos sites
djthyrax Posted December 9, 2006 at 01:47 PM Report #69721 Posted December 9, 2006 at 01:47 PM Boas. ctype_digit($var) deve resultar. Não conhecia 😄 Acenta que nem uma luva para aqui 😄 Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!
nuno_couto Posted December 9, 2006 at 02:08 PM Report #69726 Posted December 9, 2006 at 02:08 PM ctype_alnum e ctype_alpha tambem são muito úteis... o primeiro só aceita sequências de numeros e letras, sem espaços nem simbolos (por exemplo 15g7a4sd) e o segundo apenas aceita letras (sem acentuação) portalmundial.net »» criamos sites
djthyrax Posted December 9, 2006 at 02:15 PM Report #69727 Posted December 9, 2006 at 02:15 PM ctype_alnum e ctype_alpha tambem são muito úteis... o primeiro só aceita sequências de numeros e letras, sem espaços nem simbolos (por exemplo 15g7a4sd) e o segundo apenas aceita letras (sem acentuação) ya, eu vi lá isso 😄 são bastante uteis. Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!
kingless Posted December 9, 2006 at 02:26 PM Report #69732 Posted December 9, 2006 at 02:26 PM Por acaso já conhecia esta função mas nem me passou pela cabeça neste caso 😄 Bastente útil 😄
nuno_couto Posted December 9, 2006 at 09:24 PM Report #69810 Posted December 9, 2006 at 09:24 PM Utilizo muito para validar dados provenientes de formulários, como medida de segurança "extra". Por exemplo, num campo onde se introduz um nome, se criares uma variável de confirmação, por exemplo $nome_confirm em que lhe removes todas as letras acentuadas e espaços, só te devem sobrar letras. Depois disso fazes uma condicional em que usas o comando ctype_alpha($nome_confirm) Desta forma toda e qualquer tentativa de introduzir um comando através de um campo de formulário resulta num erro... Acho que são comandos extremamente úteis em termos de segurança. portalmundial.net »» criamos sites
Rodinei Carlos Posted June 4, 2019 at 02:02 AM Report #614997 Posted June 4, 2019 at 02:02 AM Em 09/12/2006 às 11:42, nuno_couto disse: Boas. ctype_digit($var) deve resultar. funciona somente com valores positivos. -10 é inteiro e não é aceito pelo ctype_digit
thoga31 Posted June 5, 2019 at 04:10 PM Report #615017 Posted June 5, 2019 at 04:10 PM Em 04/06/2019 às 03:02, Rodinei Carlos disse: funciona somente com valores positivos. -10 é inteiro e não é aceito pelo ctype_digit Este tópico tem mais de 12 anos... o membro a quem respondeste já cá não aparece há cerca de 9 anos! Knowledge is free!
Rodinei Carlos Posted June 7, 2019 at 12:58 AM Report #615042 Posted June 7, 2019 at 12:58 AM A informação foi útil para mim, que encontrei neste tópico o que eu procurava, o comentário pode servir para mais pessoas futuramente.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now