Jump to content
paulojk

Problema com if

Recommended Posts

Alguém sabe dizer qual o erro aqui?

if (substr($purse_pay, 0, 2) != 'A+' or substr($purse_pay, 0, 2) != 'B+' or !is_numeric(substr($purse_pay, 2)))

O usuario la em configuração de sua conta ele vai ter add um número de telefone no formato ex: A+999990000 ou B+999990000

Share this post


Link to post
Share on other sites

@paulojk

 

Experimente esse código, altere apenas o valor do PURSE_PAY como os exemplos abaixo:

 

$purse_pay = "A+99999999";

$purse_pay = "B+99999999";

$purse_pay = "A+a9";

$purse_pay = "B+B99999999";

$purse_pay = "C+99999999";

$purse_pay = "C+9999999n";

<?php
$purse_pay = "C+99999999";

if ((substr($purse_pay, 0, 2) == 'A+' OR substr($purse_pay, 0, 2) == 'B+') AND is_numeric(substr($purse_pay, 2))) {
    echo substr($purse_pay, 0, 2);
    echo "<br />";
    echo substr($purse_pay, 2);
    echo "<br />";
    echo "Número telefônico atende ao padrão!";
} else {
    echo substr($purse_pay, 0, 2);
    echo "<br />";
    echo substr($purse_pay, 2);
    echo "<br />";
    echo "Número telefônico fora do padrão!";
};
?>

Espero ter ajudado.

 

Att.

Felipe Coutinho

Share this post


Link to post
Share on other sites
1 hora atrás, Felipe Guedes Coutinho disse:

@paulojk

 

Experimente esse código, altere apenas o valor do PURSE_PAY como os exemplos abaixo:

 

$purse_pay = "A+99999999";

$purse_pay = "B+99999999";

$purse_pay = "A+a9";

$purse_pay = "B+B99999999";

$purse_pay = "C+99999999";

$purse_pay = "C+9999999n";


<?php
$purse_pay = "C+99999999";

if ((substr($purse_pay, 0, 2) == 'A+' OR substr($purse_pay, 0, 2) == 'B+') AND is_numeric(substr($purse_pay, 2))) {
    echo substr($purse_pay, 0, 2);
    echo "<br />";
    echo substr($purse_pay, 2);
    echo "<br />";
    echo "Número telefônico atende ao padrão!";
} else {
    echo substr($purse_pay, 0, 2);
    echo "<br />";
    echo substr($purse_pay, 2);
    echo "<br />";
    echo "Número telefônico fora do padrão!";
};
?>

Espero ter ajudado.

 

Att.

Felipe Coutinho

Aqui esta meu codigo linha 30-31 o A+ esta funcionando so que quero add um B+ para o usuario escolher uma das 2 maneiras A+99999999 ou B+99999999

<?
if(!(array_key_exists('HTTP_X_REQUESTED_WITH',$_SERVER) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest')) {
	exit('O que estamos fazendo aqui?)');
} else {
	include 'mane/func.php';

	if (CheckToken($token)) {
		$n_pass = clear($_POST['new_pass']);
		$n_pass_2 = clear($_POST['new_pass_2']);

		$pass_hac_set = md5(clear($_POST['norm_pass']));
		$new_pass_hac_set = md5($n_pass);

		$purse_pay = clear($_POST['purse_payeer']);


		if (!empty(UID)) {
			if (!empty($n_pass) && !empty($n_pass_2)) {
				if ($checksbans['pass'] != $pass_hac_set) {
					messgo(0,'A senha atual está incorreta');
				} else {
					if ($n_pass != $n_pass_2) {
						messgo(0,'Nova senha não corresponde');
					} else {
						$db->update("users","pass = ?","login = ?",[1=>$new_pass_hac_set,2=>ULG]);
					}
				}
			}

			if (!empty($purse_pay)) {
				if (substr($purse_pay, 0, 1) != 'A+' or !is_numeric(substr($purse_pay, 1))) {
					messgo(0,'Formato de número inválido');
				} else {
					$db->update("users","purse_pay = ?","login = ?",[1=>$purse_pay,2=>ULG]);
					$_SESSION['purse_pay'] = $purse_pay;
				}
			}			
			messgo(1,'Alterações salvas');
		} else {
			messgo(0,'Entrar');
		}
	} else {
		messgo(0,'Erro');
	}
}	
?>

Pode fazer as alterações por favor

Share this post


Link to post
Share on other sites

@paulojk

 

O código que te passei funcionar, basta você implementar no seu código...

 

Na linha 31 que existe a validação do A+ basta você colocar o B+ da forma que segue abaixo:

if (!empty($purse_pay)) {
    if ((substr($purse_pay, 0, 2) == 'A+' OR substr($purse_pay, 0, 2) == 'B+') AND !is_numeric(substr($purse_pay, 2))) {
        $db->update("users","purse_pay = ?","login = ?",[1=>$purse_pay,2=>ULG]);
        $_SESSION['purse_pay'] = $purse_pay;
    } else {
        messgo(0,'Formato de número inválido');
    }
}

 

A lógica de validação foi "trocada" se for igual a A+ e o restante for numérico ele entra no IF, se for B+ e o restante for numérico ele entra no IF, SENÃO ele informa que o número é inválido.

 

Testa ai e veja se funciona.

 

* PRECISO DE AJUDA - Vejá meu problema aqui Problemas com SELECT

 

Espero ter ajudado.

 

Att.

Felipe Coutinho

Share this post


Link to post
Share on other sites

@paulojk

Um jeito mais simples para você validar números de telefone é usando expressões regulares.

Aceita todos formatos de telefone de acordo com a agência ANATEL aqui do brasil

Citar

     +55 (99) 99999-9999
     99 99999-9999
     9999-9999
     9999999999999

 

Exemplo:

function telefone($numero) {
  if (preg_match('/^(?:(?:\+|00)?(55)\s?)?(?:\(?([1-9][0-9])\)?\s?)?(?:((?:9\d|[2-9])\d{3})\-?(\d{4}))$/', $numero)) {
    return (true);
  }
}

 

Demostração:

$valido = "99 99999-9999";

if (telefone($valido)) {
  // Numero de telefone é valido
} else {
  // Numero de telefone é inválido
}

 

Share this post


Link to post
Share on other sites

Caro amigo Paulo

 

saudações...

 

Você pode criar uma máscara usando um JAVASCRIPT, conforme abaixo:

<script language=javascript>

    //Função para Máscar de Telefone
    function fone(obj,prox) {
        switch (obj.value.length){
            case 1:
                obj.value = "(" + obj.value;
                break;
            case 3:
                obj.value = obj.value + ")";
                break;  
            case 8:
                obj.value = obj.value + "-";
                break;  
            case 13:
                prox.focus();
                break;
        }
    }

    //Função para Máscara de Celular
    function cel(obj,prox) {
        switch (obj.value.length){
            case 1:
                obj.value = "(" + obj.value;
                break;
            case 3:
                obj.value = obj.value + ")";
                break; 
            case 5:
                obj.value = obj.value + ".";
                break;                  
            case 10:
                obj.value = obj.value + "-";
                break;  
            case 15:
                prox.focus();
                break;
        }
    }    

    //Função para Aceitar apenas números
    function Apenas_Numeros(caracter){
      var nTecla = 0;
      if (document.all) {
          nTecla = caracter.keyCode;
      } else {
          nTecla = caracter.which;
      }
      if ((nTecla> 47 && nTecla <58)
      || nTecla == 8 || nTecla == 127
      || nTecla == 0 || nTecla == 9  // 0 == Tab
      || nTecla == 13) { // 13 == Enter
          return true;
      } else {
          return false;
      }
    }    
     
</script>

 

Espero ter ajudado.

 

Cesar

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By jeandelima
      Olá pessoal, estava querendo saber se podem me ajudar com uma pequena dúvida que surgiu há poucos dias.
       
      Estou com problemas pra importar um banco de dados pra o usar no meu servidor local (xampp). O banco de dados foi exportado do site de um cliente, e lá no server eles usam o mysql. Instalei a versão mais recente do xampp no meu pc, e quando fui importar o banco pra poder começar os trabalhos, deu vários erros de sintaxe. Daí fiz umas pesquisas e encontrei alguns materiais que mencionavam que o xampp agora usa o mariadb, e ele não é 100% compatível com mysql.
       
      Estou há um bom tempo sem mexer com programação e também sem me atualizar das coisas, e gostaria de saber se alguém sabe a partir de qual versão do xampp eles passaram a usar o mariadb. Eu já pesquisei mas não obtiver sucesso. E instalar e desinstalar inúmeras versões é algo trabalhoso e cansativo demais. Alguém poderia me ajudar?
       
      Desde já, muito obrigado.
       
      PS.: Por ser novo aqui no forum, e por não frequentar forum há muito tempo, acho que acabei postando no lugar errado. Peço perdão aos adms.
    • By Ygor Silva
      Boa tarde gente. Tenho meu site em Mobirise, pra pegar leads. 
      Ao cliente clicar em enviar ele só mostra a mensagem de "obrigado, aguarde nosso contato". 
      Eu gostaria que em vez disto, ele encaminhasse ele pra página de obrigado.
      Já tentei um mente de coisas mas não funcionou.
       
      Segue abaixo o código. Este meu formulário é formoid.
      <div data-form-type="formoid">                     <!---Formbuilder Form--->                     <form action="https://mobirise.com/" method="POST" class="mbr-form form-with-styler" data-form-title="Mobirise Form"><input type="hidden" name="email" data-form-email="true" value="A6LDZwZh8SsHY2SXE5G0uDeobTt+vGAPyztLTpaFnJ3YS523L+3ekb+dfC0ljSO2ENKcG2x7MzCrFsvX6BsE84UN+iQwUvASww4aTuqS7DVv4QO8axCqYvnhYxsAOEpX">                         <div class="row">                             <div hidden="hidden" data-form-alert="" class="alert alert-success col-12">Obrigado por deixar seu contato. Em breve ligaremos pra você.</div>                             <div hidden="hidden" data-form-alert-danger="" class="alert alert-danger col-12">                             </div>                         </div>                         <div class="dragArea">                             <div class="col-md-6  form-group" data-for="name">                                 <input type="text" name="name" placeholder="Seu nome" data-form-field="Name" required="required" class="form-control input display-7" id="name-form4-d">                             </div>                             <div class="col-md-6  form-group" data-for="phone">                                 <input type="text" name="phone" placeholder="Telefone" data-form-field="Phone" required="required" class="form-control input display-7" id="phone-form4-d">                             </div>                             <div data-for="email" class="col-md-12  form-group">                                 <input type="text" name="email" placeholder="E-mail" data-form-field="Email" class="form-control input display-7" required="required" id="email-form4-d">                             </div>                                                          <div class="col-md-12 input-group-btn  mt-2 align-center"><button type="submit" class="btn btn-primary btn-form display-4" href="obrigado.html#header3-2j">ENVIAR</button></div>                         </div>                     </form><!---Formbuilder Form--->                 </div>  
    • By Good
      Boa tarde,
       
      temos um servidor na amazon, e o site está direcionado para o servidor. Estamos tendo um problema, de vez em quando o servidor cai. 
       
      Gostaríamos de saber se tem algum programa no ubuntu, que monitore qual arquivo que teve alto consumo. Para sabermos se o código está escrito de maneira complexa, causando a queda do servidor.
       
      Eu lembro que uma vez a hostgator mandou um relatório, avisando que tal arquivo estava consumindo muito do servidor. É possível fazer esse monitoramento? Não temos como ficar 24h olhando por exemplo o htop..
       
      Aguardo uma resposta,
      obrigado!
    • By Marcos RJ
      Caros colegas. Tudo bem?
       
      Tenho uma loja virtual do qual tem foi integrado o Paypal. Para isso, fiz dessa forma. 
       
      $statusCompras = "<form action=\"https://www.paypal.com/cgi-bin/webscr\" method=\"post\">            <input type=\"hidden\" name=\"cmd\" value=\"_xclick\" />            <!--Vendedor e URL de retorno, cancelamento e notificação-->            <input type=\"hidden\" name=\"business\" value=\"vendas@sitecliente.com.br\" />            <input type=\"hidden\" name=\"return\" value=\"http://www.sitecliente.com.br/retorno/\" />            <!--Internacionalização e localização da página de pagamento-->            <input type=\"hidden\" name=\"charset\" value=\"utf-8\" />            <input type=\"hidden\" name=\"lc\" value=\"BR\" />            <input type=\"hidden\" name=\"country_code\" value=\"BR\" />            <input type=\"hidden\" name=\"currency_code\" value=\"BRL\" />            <!--Informações sobre o produto e seu valor-->            <input type=\"hidden\" name=\"amount\" value=\"".$valorCarrinho."\">            <input type=\"hidden\" name=\"item_name\" value=\"Servico\" />            <input type=\"hidden\" name=\"item_number\" value=\"".$jmNumPedido->NumPedido."\">            <input type=\"hidden\" name=\"quantity\" value=\"1\" />";            $statusCompras .= "<button type='submit' class='btn btn-danger' style='color: #FFF; font-weight: bold'>";            $statusCompras .= "Aguardando Pagamento<br>";            $statusCompras .= "<span style='font-weight: normal'>Para efetuar seu pagamento<br>clique aqui!</span>"; Estou passando o número do pedido pelo item_number, porém o cliente está reclamando que não está conseguindo identificar a compra, pois muitos deles acabam se logando com os dados de terceiros e também acabam usando o cartão de terceiros. Minha intenção era passa o número do pedido pelo item_number para facilitar a identificação, mas acho que não funcionou. Alguém poderia me ajudar nisso? Sei que existe API, mas estou tendo dificuldades nisso. 
       
      Muito obrigado!!
    • By asacap1000
      Galera estou com uma dúvida, tenho a parte de envio de dados para em Post, com encode json e curl. Já pesquisei em todos os lugares e não encontrei nada pra clarear as idéias.
       
      a parte final é essa do envio (cliente)
      header("Content-Type: ".$mediaType); $headers = array(); $headers[] = "Accept: ".$mediaType; $headers[] = "Accept-Charset: ".$charSet; $headers[] = "Accept-Encoding: ".$mediaType; $headers[] = "Content-Type: ".$mediaType.";charset=".$charSet; $headers[] = "Authorization: Basic ".$AuthorizationHeaderBase64; $ch = curl_init(); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS,"contatos=$contatos"); #campos que serão enviados curl_setopt($ch, CURLOPT_USERPWD, $AuthorizationHeaderBase64); curl_setopt($ch, CURLOPT_HEADER, $headers); curl_setopt($ch, CURLINFO_HTTP_CODE, true); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);#ativa se for ter retorno do chamada $result = curl_exec($ch); $result2 = json_decode($result,true); curl_close($ch); if($result2 === false) { $err = 'Curl error: ' . curl_error($ch); $result2 = $err; echo "This is text".$err; } var_dump ($result2);  
      Preciso de ajuda para entender como deve ser feito a página que será chamada, no caso lado servidor.
       
      Como pode ver tenho um header configurado e será enviado com chave de autorização agora como isso é feito do lado servidor??
       
      Se alguém puder me ajudar, preciso entregar este webservice sexta feira 18/10. Todos os dados recebidos serão salvos no BD Oracle.
       
       
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.