Por vezes na instalação do WampServer em Windows deparamo-nos com um erro, ou melhor, com a falta do ficheiro msvcr100.dll.
Este erro deve-se a isso mesmo... falra do ficheiro msvcr100.dll que o Apache precisa para ser executado no Windows.
Esta é uma biblioteca do Visual C++ 2010 SP1 Redistributable Package que naõ deverá estar instalado no sistema.
Para resolver o problema masta azer o download do executável Visual C++ 2010 SP1 Redistributable Package e o probloma está solucionado.
quinta-feira, 28 de março de 2013
sexta-feira, 1 de março de 2013
Validação do NIF com PHP
Algoritmo:
function validateNif($nif){
if(!is_numeric($nif) || strlen($nif) != 9) return false;
$nifArray = str_split($nif);
if($nifArray[0] != 1 && $nifArray[0] != 2 && $nifArray[0] != 5 && $nifArray[0] != 6 && $nifArray[0] != 8 && $nifArray[0] != 9)
return false;
$checkbit = $nifArray[0] * 9;
for($i=2; $i <=8; $i++){
$checkbit += $nif[$i-1] * (10 - $i);
}
$checkbit = 11 - ($checkbit % 11);
if($checkbit >= 10) $checkbit=0;
if($nif[8] == $checkbit) return true;
echo "Invalid NIF";
return false;
}
- O NIF tem que ter 9 dígitos;
- O primeiro dígito tem que ser 1, 2, 5, 6, 8 ou 9;
- A soma de controle é dada por: 9 x d1 + 8 x d2 + 7 x d3 + 6 x d4 + 5 x d5 + 4 x d6 + 3 x d7 + 2 x d8 + (1 x) d9 a soma das multiplicações (10 - i) x di (com i de 1 a 9) tem que ser múltipla de 11 (congruente com o módulo 11, isto é, dê resto 0 quando dividida por 11). d1 é o dígito mais à esquerda, e d9 o digito mais à direita (digito de controle).
- d9, em alguns casos, precisava de ter o valor 10, para que a soma de controle fosse divisível por 11. Neste caso d9 tomará o valor 0.
function validateNif($nif){
if(!is_numeric($nif) || strlen($nif) != 9) return false;
$nifArray = str_split($nif);
if($nifArray[0] != 1 && $nifArray[0] != 2 && $nifArray[0] != 5 && $nifArray[0] != 6 && $nifArray[0] != 8 && $nifArray[0] != 9)
return false;
$checkbit = $nifArray[0] * 9;
for($i=2; $i <=8; $i++){
$checkbit += $nif[$i-1] * (10 - $i);
}
$checkbit = 11 - ($checkbit % 11);
if($checkbit >= 10) $checkbit=0;
if($nif[8] == $checkbit) return true;
echo "Invalid NIF";
return false;
}
Subscrever:
Mensagens (Atom)