Hallo alle zusammen.
Frage mich seit gestern Abend, rein aus Interesse, ob es möglich ist, eine Ausweisnummer auf Gültigkeit zu überprüfen. Mit PHP habe ich gesehen, das es geht, aber mit AutoIt? Meine es so, das ein programm nur startet, wenn die Ausweisnummer stimmt.
Wenn ja, möchte ich nämlich damit etwas bauen.
Ja, wieso habe ich immer so komische Fragen.
Den PHP Script könnte ich ja mal posten, aber ob der Hilft weiß ich ja gar nicht. Aber ich meine es ist besser, zuviel zu veröffentlichen, als zu wenig.
Und wenn es geht, werde ich meine SAW-Sammlung incl. Originaltrainer weiter geben können. SAW ist ja nicht überall für jeden freigegeben. In einigen Ländern ja erst ab 21 oder 18.
SAW ist wohl der Frauenaktionfilm, aber alle Teile gefallen mir, wenn ich in der Stimmung denn auch bin.
Spoiler anzeigen
<?
include("config.php");
[/autoit] [autoit][/autoit] [autoit]$Zwischensumme = 0;
$Endsumme = 0;
$Gesamtkontrolle = false;
$date_time_array = getdate (time());
if ((strlen($Block1)) == 11) {
for ($i = 0; $i <= 8; $i++) {
$Endsumme = $Endsumme + ((int) substr ($Block1,$i,1)*7);
$i++;
$Endsumme = $Endsumme + ((int) substr ($Block1,$i,1)*3);
$i++;
$Endsumme = $Endsumme + ((int) substr ($Block1,$i,1));
}
$Pruef1 = (int) substr ($Block1,9,1);
if (($Endsumme % 10) == $Pruef1) {
$Endsumme = $Endsumme + ($Pruef1*7);
if ((substr($Block1,10,1)) == "D") {
$Zwischensumme = 0;
if (strlen($Block2) == 7) {
for ($i = 0; $i <= 5; $i++) {
$ziffer = (int) substr ($Block2,$i,1);
$Zwischensumme = $Zwischensumme + ($ziffer*7);
$Endsumme = $Endsumme + ($ziffer*3);
$i++;
$ziffer = (int) substr ($Block2,$i,1);
$Zwischensumme = $Zwischensumme + ($ziffer*3);
$Endsumme = $Endsumme + $ziffer;
$i++;
$ziffer = (int) substr ($Block2,$i,1);
$Zwischensumme = $Zwischensumme + $ziffer;
$Endsumme = $Endsumme + ($ziffer*7);
}
$Pruef1 = (int) substr ($Block2,6,1);
if ($Pruef1 == ($Zwischensumme%10)) {
$Endsumme = $Endsumme + ($Pruef1*3);
$Zwischensumme = 0;
if (strlen($Block3) == 7) {
for ($i = 0; $i <= 5; $i++) {
$ziffer = (int) substr ($Block3,$i,1);
$Zwischensumme = $Zwischensumme + ($ziffer*7);
$Endsumme = $Endsumme + $ziffer;
$i++;
$ziffer = (int) substr ($Block3,$i,1);
$Zwischensumme = $Zwischensumme + ($ziffer*3);
$Endsumme = $Endsumme + ($ziffer*7);
$i++;
$ziffer = (int) substr ($Block3,$i,1);
$Zwischensumme = $Zwischensumme + ($ziffer*1);
$Endsumme = $Endsumme + ($ziffer*3);
}
$Pruef1 = (int) substr ($Block3,6,1);
if ($Pruef1== ($Zwischensumme%10)) {
$Endsumme = $Endsumme + $Pruef1;
if (($Endsumme % 10) == ((int) substr($Block4,0,1))) {
$GueltigJahr = (int) substr($Block3,0,2);
if ($GueltigJahr < 30) {
$GueltigJahr = $GueltigJahr + 2000;
If ($date_time_array["year"] >= $GueltigJahr) {
If ($date_time_array["mon"] >= (int) substr($Block3,2,2))
If ($date_time_array["mday"] <= (int) substr($Block3,4,2))
$Gesamtkontrolle = true;
}
else $Gesamtkontrolle = true;
}
}
}
}
}
}
}
}
}
if ($Gesamtkontrolle == true) {
if ($Modus == 2) {
$AlterJahr = (int) substr($Block2,0,2);
if ($AlterJahr > 20) {
$AlterJahr = $AlterJahr + 1900;
$Alter = $date_time_array["year"] - $AlterJahr;
if ($date_time_array["mon"] < (int) substr($Block2,2,2))
$Alter = $Alter - 1;
else
if ($date_time_array["mon"] == (int) substr($Block2,2,2))
if ($date_time_array["mday"] < (int) substr($Block2,4,2))
$Alter = $Alter - 1;
}
else
$Gesamtkontrolle = false;
if ($Alter >= $MinAlter)
$Gesamtkontrolle = true;
else
$Gesamtkontrolle = false;
}
}
if ($Gesamtkontrolle == true)
readfile ($Okay);
else
readfile ($Error);
?>
Die Config dazu:
Spoiler anzeigen
<?
// Die HTML Seite, die angezeigt wird wenn dem User Zugang gewährt werden soll
$Okay = "http://www..person.de/board2/"; hier halt das das Programm weiter läuft
// Die HTML Seite, die angezeigt wird wenn dem User der Zugang verwehrt bleibt
$Error = "http://www.person.de/ausweis"; hier halt das ein Hinweis komtm, das das Alter nicht ausreicht.
/* Modus = 1 : Die Personalausweisnummer wird lediglich auf Korrektheit überprüft
Modus = 2 : Das Alter wird errechnet und mit der Variable $MinAlter verglichen */
$Modus = 1;
[/autoit] [autoit][/autoit] [autoit]// Nur für den Modus 2 relevant
$MinAlter = 21;
?>
LG Lina