• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

xploit

validacao de caracteres

19 mensagens neste tópico

Boas pessoal eu gostaria de saber como posso validar uma variavel.

Ela por norma vem com valores numéricos positivos, ou seja $conta="20", eu cria que sempre que ela viesse com o caracter negativo do resultado da conta que executa-se uma accao:

se for $conta="-80" faz isto isto e aquilo ou(else) aquilo e aquilo .

Obrigado Cumps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
if ($conta < 0) {
  /* isto e aquilo */
} else {
  /* aquilo e aquilo */
}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tão simples como o pmg sugeriu. xploit, não sei se será de não trabalhares com PHP à algum tempo, ou de te teres iniciado agora, mas eu recomendava-te a dar umas voltas por uns tutoriais, para relembrar alguns conceitos.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

acho que nao me expliquei bem, eu quero e fazer algo deste tipo pesquisei no google e encontrei o que cria já agora deixo aqui o que era:

if (preg_match("[-]", $varivel)){
echo "tem caracter -";
}else{ echo "a sua varivavel nao tem carater -";}

Obrigado pela ajuda.

Cumprimentos

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Uma entre muitas soluções:

if(strpos($variavel, '-') === false) echo "não tem o -";

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Pois, inicialmente deu a entender que pretendias distinguir um número positivo de um negativo... Mas aí o contexto já não tem a ver com números inteiros, mas sim com strings e caracteres...

Já que o fim é strings, usa a solução do tirácio, uma vez que é desperdiçar recursos pesquisar um simples hifen com essa função (vê as notas da função preg_match)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ok obrigado pela dica softclean, irei utilizar o teu código tirácio já que é mais apropriado a situaçao.

Cumprimentos

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

testei o código do tirácio e nao esta a resultar pus assim:

if(strpos($contal, '-') === false){

echo "não tem o -";

}else{echo "tem o -";}

o que estará mal? Cumps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Mas a variável afinal como é que se chama?

é "$conta", "$varivel", ou "$contal"?

Mete o error_reporting "mais para cima", para que o PHP te avise sempre que uses uma variável não inicializada.

<?php
error_reporting(E_ALL);
/* resto do script */
?>

Também o podes fazer no php.ini. Normalmente tenho dois php.inis diferentes: um para desenvolvimento (com as ajudas todas ligadas) e outro para o produto final.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Em principio será mesmo do "l" que deixaste no fim do nome da variável (contal;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

chama se $conta, e nessa variavel quero que quando ela vier com o "-" faca um codigo else outro codigo.. eu fiz assim e nao deu com esse exemplo do tirácio

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O exemplo do tirácio está a funcionar perfeitamente, PHP 5(.2.6)

<?php
if (strpos($conta, '-') === false) {
	echo "não tem o -";
} else {
	echo "tem o -";
}
?>

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

teem razao, peço imensa desculpa principalmente ao tirácio o script funciona perfeitamente =)

Obrigado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

E que tal:

$a = "-69";

if((int)$a < 0) {
echo "negativo";
} else {
echo "positivo";
}

?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

E que tal:

$a = "-69";

if((int)$a < 0) {
echo "negativo";
} else {
echo "positivo";
}

?

O cast para int não é necessário, é feito automaticamente pela linguagem (e isso já foi sugerido lá em cima). Mas sim, servia igualmente para isso. :P
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se o cast é feito automaticamente qual é a necessidade de andar com strpos() e etc? Não faz sentido nenhum ver se uma string tem o "-" para dizer que é um número negativo, basta ver se o número é ou não negativo. Convertendo-o para inteiro se for realmente necessário.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se o cast é feito automaticamente qual é a necessidade de andar com strpos() e etc? Não faz sentido nenhum ver se uma string tem o "-" para dizer que é um número negativo, basta ver se o número é ou não negativo. Convertendo-o para inteiro se for realmente necessário.

A solução que dei foi apenas uma entre muitas. Se a variável for " -9" acho que o cast já não é feito correctamente, daí ter dado a ideia do strpos().
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Mas a solução que deste, para mim, é reinventar a roda, não faz qualquer sentido. Mas por acaso, o cast é feito correctamente nessa situação (entre outras).

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora