VEEBIARENDAJALE

Otsid abi aga ei leidnud? Kirjuta meile ja lisame näiteid juurde.

Isikukoodi kontroll (PHP)

<?php

$idcode 
"SIIA LISA ISIKUKOOD";
    
/* Isikukoodi tähemärkide pikkus ja formaadi kontroll */
if(strlen($idcode) != 11 || !is_numeric($idcode))
{
    echo 
'Isikukoodi tähemärkide pikkus või formaat ei ole õige!';
}
else
{
    
/* Arvutame kontrollsumma */
    
$s1 $s2 0;
    
$k1 1;
    
$k2 3;
        
    for(
$i=0$i<strlen($idcode)-1$i++)
    {
        
$s1 += $idcode[$i]*$k1;
        
$s2 += $idcode[$i]*$k2;
            
        
$k1 = ($k1 == 9)?1:$k1+1;
        
$k2 = ($k2 == 9)?1:$k2+1;
    }
        
    if((
$s1%11) < 10)
    {
        
$idcode_chksum $s1%11;
    }
    elseif((
$s2%11) < 10)
    {
        
$idcode_chksum $s2%11;
    }
    else
    {
        
$idcode_chksum 0;
    }
        
    
/* Lahterdame isikukoodi osakuteks */
    
$idcode_pack unpack("a1/a2/a2/a2/a3/a1chk",$idcode);
        
    
/* Isikukoodi kontrollsumma */
    
if($idcode_pack['chk'] != $idcode_chksum
    {
        echo 
'Isikukood on vigane!';
    }
    else
    {
        echo 
'Isikukood on õige!';
    }
}

?>