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