PHP Schnipsel

Personalausweis Pruefung

Diese Funktionen prüfen eine Personalausweissnummer auf Ihre Gültigkeit.

Drucken
  1.  <?   
  2.     
  3.  function check_number($number=0){   
  4.   $p 7  
  5.   for($i=0$i strlen(strval($number)); $i++) {   
  6.    $return += substr($number[$i]*$p, -1);   
  7.    if($p==1$p=7  
  8.    elseif($p==3$p=1  
  9.    elseif($p==7$p=3  
  10.     
  11.     return $return  
  12.    
  13.     
  14.  function perso_check($id=0) {   
  15.   $array explode(" "$id);   
  16.   if(substr(check_number(substr($array[0  
  17.   ,0,9)),-1) == substr($array[0],9,1)) {    
  18.    $check["serial"] = true;    
  19.     
  20.   if(substr(check_number(substr($array[1  
  21.   ,0,6)), -1) == substr($array[1],6,1)) {    
  22.    $check["birthday"][0] = true;    
  23.     
  24.   if(substr(check_number(substr($array[2  
  25.   ,0,6)), -1) == substr($array[2],6,1)) {    
  26.    $check["expiration"][0] = true  
  27.     
  28.   if(time() < mktime(0,0,0,substr($array[2],2,2),   
  29.   substr($array[2],4,2),substr($array[2],0,2))) {   
  30.    $check["expiration"][1] = true  
  31.     
  32.   if(substr(check_number(substr($array[0],0,10).   
  33.   substr($array[1],0,7).substr($array[2],0,7))   
  34.   ,-1) == $array[3]){ $check["all"] = true  
  35.     
  36.   if($check["serial"] == true &&   
  37.   $check["birthday"][0] == true &&   
  38.   $check["expiration"][0] == true &&   
  39.   $check["expiration"][1] == true &&   
  40.   $check["all"] == true) { return true  
  41.   } else {   
  42.    return false  
  43.     
  44.    
  45.     
  46.  //Beispiel   
  47.  $perso_nr "123456789D 1234567 1234567 0"  
  48.  if(perso_check($perso_nr) == true) {   
  49.   echo "Personalausweissnummer korrekt"  
  50.  } else {   
  51.   echo "Personalausweissnummer falsch"  
  52.    
  53.     
  54.  ?>   






T: 34979 G: 7 H: 10 T: +4 O: 5