Jump to content


Photo

O Primeiro Tem Que Ser 3 Ou 5


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

#1 redstyle

redstyle

    Expert

  • Usuários
  • 540 posts
  • Sexo:Masculino

Posted 09/06/2005, 13:53

Pessoal,
tentei aqui de algumas maneiras mais não estou achando a solução.
Acredito que deve ser bobeira minha mais não estou achando a lógica disso.
Acho que o problema seja no OR e AND. Mais eis minha dúvida.

Tenho um campo onde o dado colocado deve iniciar com o número 3 ou número 5

Por exemplo:
35882145 (esse pode porque começa com 3)
85214454 (esse não pode)
52121212 (esse pode porque começa com 5)

Estou usando isso:
//verifica se o numero começa com o numero 3 ou 5.
  if ((!isset($_POST['ncard'])) || ($_POST['ncard'] == "") || (substr($_POST['ncard'],0,1) != 3) || (substr($_POST['ncard'],0,1) != 5)){
 	 $erro .= "<div class=\"erro\">O cartão deve iniciar com o número 3 ou 5.</div>";
  }
Se não existir o post ou ele for vazio ou o primeiro caractere não for igua a 3 ou 5 então mostra mensagem de erro.

Mais não está dando certo.

Como seria a lógica disso?

Abraços.

Conheça meu blog para Aprender Laravel (Framework PHP)


#2 lugs

lugs

    Normal

  • Usuários
  • 83 posts
  • Sexo:Não informado
  • Localidade:Capinas - SP

Posted 09/06/2005, 14:03

acredito que assim fique melhor:

//verifica se o numero começa com o numero 3 ou 5.
 if (
     ((!isset($_POST['ncard']) or ($_POST['ncard'] == ""))
     and 
     ((substr($_POST['ncard'],0,1) !== 3) or (substr($_POST['ncard'],0,1) !== 5))
{
  $erro .= "<div class=\"erro\">O cartão deve iniciar com o número 3 ou 5.</div>";
 }

Acredito que está mais fácil de ver agora, mas os erros eram só um ) fechado a mais e os !== 3 q estavam !=3

Edição feita por: lugs, 09/06/2005, 14:05.

"Qndo eu apontar para a Lua, não olhe para o meu dedo"

#3 Xandão Grunge

Xandão Grunge

    12 Horas

  • Usuários
  • 158 posts
  • Sexo:Não informado
  • Localidade:Chavantes

Posted 09/06/2005, 14:05

Tenta colocar os algarismos 3 e 5 entre aspas no if:

  if ((!isset($_POST['ncard'])) || ($_POST['ncard'] == "") || (substr($_POST['ncard'],0,1) != '3') || (substr($_POST['ncard'],0,1) != '5')){
  $erro .= "<div class=\"erro\">O cartão deve iniciar com o número 3 ou 5.</div>";
}


Vamos ver no que dá.
Xandão Grunge B)

#4 Klaus

Klaus

    @ ubuntu jaunty

  • Ex-Admins
  • 7924 posts
  • Sexo:Masculino
  • Localidade:127.0.0.1

Posted 09/06/2005, 14:14

$er = "/^[35]/";
if (preg_match ($er, $numero)) {
  echo "Vale...";
}


Klaus Paiva
Conheça também: Taperás

#5 Petry

Petry

    Veterano

  • Usuários
  • 1132 posts
  • Sexo:Masculino
  • Localidade:Caxias do Sul - RS
  • Interesses:- desenvolvimento WEB<br />- websemântica<br />- microformatos

Posted 09/06/2005, 14:22

no algoritmo do lugs faltou fecha uns parenteses heheh

<?
//verifica se o numero começa com o numero 3 ou 5.
if (((!isset($_GET['ncard']) or ($_GET['ncard'] != "")) and ((substr($_GET['ncard'],0,1) !== 3) or (substr($_GET['ncard'],0,1) !== 5)))){
	$erro .= "<div class=\"erro\">O cartão deve iniciar com o número 3 ou 5.</div>";
}
?>

a do klaus quebro a cara de todo mundo hsauhsauhs soh arrumei pro redstyle não pensa mto heheheh

<?
<?
$er = "/^[35]/";
if (!preg_match ($er, $_POST['num'])) {
  $erro .=  "<div class=\"erro\">O cartão deve iniciar com o número 3 ou 5.</div>";
}
?>

Edição feita por: MxDxPx, 09/06/2005, 14:23.

Posted Image

- Desenvolvedor Python/ZOPE/Plone + ArchGenXML/Poseidon - Python + Django na Universidade de Caxias do Sul
- Desenvolvedor Python + Django na World News

Blog

#6 redstyle

redstyle

    Expert

  • Usuários
  • 540 posts
  • Sexo:Masculino

Posted 09/06/2005, 14:27

Pô galera valeu ai...
Arrumei...
Funfo legal.
:D
[]'s

Conheça meu blog para Aprender Laravel (Framework PHP)





1 user(s) are reading this topic

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

IPB Skin By Virteq