Szukaj na tym blogu

Postaram się przekazać swoje doświadczenia z PHP, oraz innych dziwnych rzeczach, typu MySQL, DB2. Czyli to co umiem. Blogoczytelników o słabych nerwach proszę o nieczytanie tego blogu. Dlaczego? Jeszcze nie wiem. W razie pytań z dziedziny PHP proszę pytać, jest cień możliwości że akurat to wiem. ;)

czwartek, 17 marca 2011

Sprawdzanie poprawności PESEL.

Często gęsto człowiek boryka się czy dany PESEL jest prawidłowy. Oto prosty przykład jak można sprawdzić czy delikwent aby nie konfabuluje w dziedzinie PESEL.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>

<head>
<title>Pesel checker</title>
<meta name="AUTHOR" content="plx">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<strong>Sprawdzacz peseli</strong><br>
<form action="pesel_check.php" method="POST" enctype="application/x-www-form-urlencoded">
<input type="text" name="pesel"> <input type="submit" value="check">
</form><br>
<?php
if (isset($_POST['pesel'])) {
$pesel = trim($_POST['pesel']);
$pesel_waga = '13791379131';
$pesel_suma = 0;
if (strlen($pesel) == 11) {
for ($a = 0; $a <= 10; $a++)
$pesel_suma = $pesel_suma + (substr ($pesel, $a, 1) * substr ($pesel_waga, $a, 1));
if (substr ($pesel_suma, -1, 1) == '0')
echo "Pesel prawidłowy.";
else
echo "Pesel jest nieprawidłowy.";
}
else
echo "Pesel ma złą długość.";
}
?>
</body>
</html>



Jak działa, dostępny jest TU.
Dla tych co uważają że serwer nie powinien zajmować się takimi bzdetami i niech sprawdza w JS po stronie klienta pamięta, że zawsze znajdzie się ktoś kto wyłączy JS, albo spreparuje własne dane i wyśle, więc i tak serwer musi sprawdzać poprawność danych.

Oto prosty przykład jak to samo można przenieść do JS.


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>

<head>
<title>Pesel checker</title>
<meta name="AUTHOR" content="plx">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript">
function pesel_check(pesel) {
var pesel_waga = '13791379131';
var pesel_suma = 0;
if (pesel.length = 11) {
for (a = 0; a <= 10; a++)
pesel_suma = pesel_suma + (pesel.substr(a, 1) * pesel_waga.substr(a, 1));
pesel_suma_str = pesel_suma.toString();

if (pesel_suma_str.substr(-1, 1) == '0')
document.getElementById('wynik').innerHTML = 'Pesel prawidłowy.';
else
document.getElementById('wynik').innerHTML = 'Pesel jest nieprawidłowy.';

}
}
</script>
</head>
<body>
<strong>Sprawdzacz peseli</strong><br>
<input type="text" name="pesel" onchange="pesel_check(this.value);">
<br>
<div id="wynik">Tu będzie wynik, albo i nie.</div>
</body>
</html>



Można go przetestować TU.

Te przykłady są na tyle proste i oczywiste, że każdy bez większych kłopotów użyje sobie gdzie chce i jak chce.

Powodzenia.

PS. Możecie śmiało sprawdzać, wyniki nigdzie nie są zapisywane zgodnie z ustawą o ochronie danych osobowych, bla bla bla. Niech nikogo nie zmyli. Sam PESEL jest daną osobową.

Brak komentarzy:

Prześlij komentarz

Konstruktywne komentarze mile widziane.
Wulgaryzmy, obraźliwe stwierdzenia będą usuwane.