Autor Tópico: (resolvido) valida titulo de eleitor  (Lida 2033 vezes)

Arquimedes

  • Global Moderator
  • Expert
  • *****
  • Mensagens: 561
  • Ajudar para ser ajudado
(resolvido) valida titulo de eleitor
« Online: Agosto 17, 2012, 12:14:53 pm »
Alguem sabe com implementar essa função de titulo de eleitor,  em um formulario de cadastro
« Última modificação: Agosto 17, 2012, 07:02:49 pm por Arquimedes »

saulobborges

  • Expert
  • *****
  • Mensagens: 1392
    • SGi Sistemas
    • Email
Re:valida titulo eleitor
« Responder #1 Online: Agosto 17, 2012, 01:23:05 pm »
Isso é VB ou ASP, tem que pegar essa função e converter ela pra php se não num rola.

Arquimedes

  • Global Moderator
  • Expert
  • *****
  • Mensagens: 561
  • Ajudar para ser ajudado
Re:valida titulo eleitor
« Responder #2 Online: Agosto 17, 2012, 02:12:25 pm »
deculpa eu colei o codigo errado, mais nao sei implementar do mesmo jeito, alguem poderia me ajudar

codigo certo
<?php
/**
* Função para validar Título Eleitoral
*
* @author     Paulo Freitas <paulofreitas.web@gmail.com>
* @version    20100404
* @copyright  2005-2010 Paulo Freitas
* @license    http://creativecommons.org/licenses/by-sa/3.0
* @param     string $te Título Eleitoral que deseja validar
* @return    bool true caso seje válido, false caso não seje válido
*/

function checkTE($te)
{
    $te = str_pad(ereg_replace('[^0-9]', '', $te), 12, '0', STR_PAD_LEFT);
    $uf = intval(substr($te, 8, 2));

    if (strlen($te) != 12 || $uf < 1 || $uf > 28) {
        return false;
    } else {
        $d = 0;

        for ($i = 0; $i < 8; $i++) {
            $d += $te{$i} * (9 - $i);
        }

        $d %= 11;

        if ($d < 2) {
            if ($uf < 3) {
                $d = 1 - $d;
            } else {
                $d = 0;
            }
        } else {
            $d = 11 - $d;
        }

        if ($te{10} != $d) {
            return false;
        }

        $d *= 2;

        for ($i = 8; $i < 10; $i++) {
            $d += $te{$i} * (12 - $i);
        }

        $d %= 11;

        if ($d < 2) {
            if ($uf < 3) {
                $d = 1 - $d;
            } else {
                $d = 0;
            }
        } else {
            $d = 11 - $d;
        }

        if ($te{11} != $d) {
            return false;
        }

        return true;
    }
}
?>

saulobborges

  • Expert
  • *****
  • Mensagens: 1392
    • SGi Sistemas
    • Email
Re:valida titulo eleitor
« Responder #3 Online: Agosto 17, 2012, 02:19:59 pm »
Joga este código em um arquivo php importa como biblioteca no SC, deixa como biblioteca pública que ele ficará disponível em qualquer projeto.

Na aplicação que você for fazer a validação vai no menu Programação / Bibliotecas, escolhe o arquivo que você fez upload, o SC provavelmente vai te mandar chamar este arquivo explicitamente dentro do código aí é só usar a sc_include("meu_script.php").

Aí você essa função de validação disponível após declara-la com a chamada acima, aí é só chamar ela:

checkTE(Aqui vai o campo que você quer validar)

Você pode após isso de acordo com o retorno da function (true / false)  mostrar uma mensagem para o usuário.

Arquimedes

  • Global Moderator
  • Expert
  • *****
  • Mensagens: 561
  • Ajudar para ser ajudado
Re:valida titulo eleitor
« Responder #4 Online: Agosto 17, 2012, 03:08:48 pm »
muito obrigado saulobborges,
 o codigo ficou assim

$titulo={titulo};
$valida =checkTE($titulo);

if ($valida== false)
{
sc_alert("Titulo Falso");
}
else
{
sc_alert("Titulo Ok");
};