G
gepard
Hallo zusammen,
ich habe leider ein Problem. Ich habe gestern im Internet ein php Script gefunden das anhand das Personalausweisnummer feststellt wie alt man ist. Das beste an dem Script ist das man zwei Urls einfügen kann. Einmal die Okay Seite ( Wenn die Person über 18 Jahre alt ist) und einmal die Error Seite ( Unter 18). Nur leider funktinert das Script nicht so wie es funktionieren soll.. Auch wenn Die Personalausweisnummer korrekt ist , wird man immer zur Error Seite weitergeleitet. Wäre echt toll wenn einer von euch diesen Fehler beheben könnte da ich mir ziemlich sicher bin das der Programmierer einen Fehler gemacht hat. Ich habe Ihn auch schon angeschrieben aber bis jetzt noch keine Antwort erhalten.Das letze update auf seiner Seite fand 2001 statt. Also werde ich bestimmt kein Erfolg mehr haben.
Als erstes kommt die Perso.php wo sich glaube ich der Fehler eingeschlichen hat.
Die Datei sieht folgerndermassen aus:
<?
include("config.php");
$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);
?>
Dann gibt es noch die Config.php da wo die beiden Url drin stehen:
<?
// Die HTML Seite, die bei angezeigt wird wenn dem User Zugang gewährt werden soll
$Okay = "http://www.texturen2000.de/php/perso/Okay.html";
// Die HTML Seite, die bei angezeigt wird wenn dem User der Zugang verwehrt bleibt
$Error = "http://www.texturen2000.de/php/perso/Error.html";
/* Modus = 1 : Die Personalausweisnummer wird lediglich auf Korrektheit überprüft
Modus = 2 : Das Alter wird errechnet und mit der Variable $MinAlter verglichen */
$Modus = 2;
// Nur für den Modus 2 relevant
$MinAlter = 18;
?>
Wäre toll wenn das einer von Euch hin bekommen würde.
das ganze script gibt es hier zum download
http://www.texturen2000.de/php/perso/perso.ace
meine Email:geparht@gmx.net
netten gruss
Marc
ich habe leider ein Problem. Ich habe gestern im Internet ein php Script gefunden das anhand das Personalausweisnummer feststellt wie alt man ist. Das beste an dem Script ist das man zwei Urls einfügen kann. Einmal die Okay Seite ( Wenn die Person über 18 Jahre alt ist) und einmal die Error Seite ( Unter 18). Nur leider funktinert das Script nicht so wie es funktionieren soll.. Auch wenn Die Personalausweisnummer korrekt ist , wird man immer zur Error Seite weitergeleitet. Wäre echt toll wenn einer von euch diesen Fehler beheben könnte da ich mir ziemlich sicher bin das der Programmierer einen Fehler gemacht hat. Ich habe Ihn auch schon angeschrieben aber bis jetzt noch keine Antwort erhalten.Das letze update auf seiner Seite fand 2001 statt. Also werde ich bestimmt kein Erfolg mehr haben.
Als erstes kommt die Perso.php wo sich glaube ich der Fehler eingeschlichen hat.
Die Datei sieht folgerndermassen aus:
<?
include("config.php");
$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);
?>
Dann gibt es noch die Config.php da wo die beiden Url drin stehen:
<?
// Die HTML Seite, die bei angezeigt wird wenn dem User Zugang gewährt werden soll
$Okay = "http://www.texturen2000.de/php/perso/Okay.html";
// Die HTML Seite, die bei angezeigt wird wenn dem User der Zugang verwehrt bleibt
$Error = "http://www.texturen2000.de/php/perso/Error.html";
/* Modus = 1 : Die Personalausweisnummer wird lediglich auf Korrektheit überprüft
Modus = 2 : Das Alter wird errechnet und mit der Variable $MinAlter verglichen */
$Modus = 2;
// Nur für den Modus 2 relevant
$MinAlter = 18;
?>
Wäre toll wenn das einer von Euch hin bekommen würde.
das ganze script gibt es hier zum download
http://www.texturen2000.de/php/perso/perso.ace
meine Email:geparht@gmx.net
netten gruss
Marc
Zuletzt bearbeitet von einem Moderator: