CODE <?php
$block1 = ""; // 11 Stellen davon ein Bustabe am Ende
$block2 = ""; // 7 Stellen
$block3 = ""; // 7 Stellen
$block4 = ""; // 1 Stelle
function splitString($input,$zeichenLaenge)
{
$length = strlen($input);
for ($i = 0; $i < $length; $i = $i + $zeichenLaenge)
{
$array[] = substr($input, $i, $zeichenLaenge);
}
return $array;
}
function proofPart($part) {
global $gesamtsumme;
global $blocknummer;
if (strlen($part) != 0) {
$blocknummer++;
$pruefZiffer = substr($part,-1,1);
$rest = substr($part,0,-1);
$arr[1] = 7;
$arr[2] = 3;
$arr[3] = 1;
$split = splitString($rest,1);
$summe = 0;
$i = 0;
while (list($key, $value) = each ($split)) {
$i++;
$summe += ($value*$arr[$i]);
if ($i == 3) { $i = 0; }
}
$gesamtsumme += $summe;
$sollPruefZiffer = $summe % 10;
if ($pruefZiffer == $sollPruefZiffer) {
echo'<b>Block '.$blocknummer.'</b> ist korrekt.<br>';
$return = true;
} else {
echo'<b>Block '.$blocknummer.'</b> ist <b>nicht</b> korrekt!<br>';
$return = false;
}
} else {
echo'<b>Bitte Ziffernfolge angeben!.<br>';
$return = false;
}
return $return;
}
$b1 = proofPart(substr($block1,0,-1));
$b2 = proofPart($block2);
$b3 = proofPart($block3);
if ($gesamtsumme % 10 == $block4) {
echo'<b>Ihr Personalausweiss wurde <b>erfolgreich</b> verfifiziert!</b>';
} else {
echo'<b>Ihr Personalausweiss konnt <b>nicht</b> verfifiziert werden!</b>';
}
?>
Vll. kannste damit ja was anfangen
Hab ich vor ewigkeiten (4 jahren) mal geschrieben, frag mich aber nicht mehr wie das sich genau zusammensetzt :]
Habs auch umgekehrt, so als Wink mit dem Zaunpfahl auf den Beitrag von Crook