webForumDet fria alternativet

Personnummer koll

4 svar · 1 678 visningar · startad av Caine

CaineMedlem sedan nov. 200413 inlägg
#1

Jag håller med en wedshop och när man registrerar sig ska man änge personnummret. Nu är det så att jag vill göra en koll om det är ett riktigt personnummer och inte ett som någon bara slängt ihop t.ex. 123456-7890.

Rent matematiskt är det inte så svårt men hur skriver jag detta i php?

Personnummer: 320517-3651 (fejkat). För att kolla om detta är rätt så gångrar man det första talet med 2 och det andra med 1, sen det tredje med 2, fjärde med 1 osv

3 2 0 5 1 7 - 3 6 5
2 1 2 1 2 1 - 2 1 2

sen lägger man ihop de talen man får

3 ||2 ||0 ||5 ||1 ||7 ||- ||3 ||6 ||5
2 ||1 ||2 ||1 ||2 ||1 ||- ||2 ||1 ||2
6 ||2 ||0 ||5 ||2 ||7 ||- ||6 ||6 ||1=35

om man får ett två siffrit tal t.ex. 2*5=10 så lägger man ihop talen => 1+0=1. När man kommit så här långt tar man det närmaste tiotalet över det man fått, i detta fall 40, och tar detta minus talet man fått, vilket ger 40-35=5. Ni kan ju alltid prova på era egna nummer och kolla.

Stället där man matar in nummret är indelat i två delar och ser ut så här:

<input size="6" maxlength="6" type="text" id="Pirog1" name="Pirog1">

<input size="4"  maxlength="4" type="text" id="Pirog2" name="Pirog2">

Hoppas hjälp kommer.
Tack på förhand!

PeeerMedlem sedan mars 20025 907 inlägg
#2

Om vi använder oss av sgtpeppers checkPnr() så har vi ju kommit en bra bit på väg.

Vi behöver bara komplettera med

//Eventuellt får du ersätta alla $_POST-variabler med $_GET
if(isset($_POST['Pirog1']) and isset($_POST['Pirog2'])){
	if(checkPnr(trim($_POST['Pirog1']) . trim($_POST['Pirog2']))
		echo 'Giltigt personnummer!';
	else
		echo 'Ogiltigt personnummer!';
}

Två spontana frågor dock; varför använda två skilda fält och varför döpa dem till Pirog?

CaineMedlem sedan nov. 200413 inlägg
#3

Tack!

Peeer skrev:

Två spontana frågor dock; varför använda två skilda fält och varför döpa dem till Pirog?

Jag kommer inte ihåg varför vi, vi e tre som gör shoppen, valde att ha två fält men jag tror det beror på att det skulle vara lätt att fylla i, men jag kommer nog ändra tillbaka det till ett fält igen.

Om jag gör det då är det väl bara att ta bort de delar som inkluderar Pirog2?

Anledningen att den heter Pirog var att det skulle stå Perog vilket skulle stå för Person eller Organisationsnummer men Pirog låter roligare så vi döpte den till det istället.

PeeerMedlem sedan mars 20025 907 inlägg
#4

Caine skrev:

Om jag gör det då är det väl bara att ta bort de delar som inkluderar Pirog2?

Jopp

Anledningen att den heter Pirog var att det skulle stå Perog vilket skulle stå för Person eller Organisationsnummer men Pirog låter roligare så vi döpte den till det istället.

:OO

CompusaMedlem sedan jan. 20023 327 inlägg
#5

Peeer skrev:

Caine skrev:

Om jag gör det då är det väl bara att ta bort de delar som inkluderar Pirog2?

Jopp

Anledningen att den heter Pirog var att det skulle stå Perog vilket skulle stå för Person eller Organisationsnummer men Pirog låter roligare så vi döpte den till det istället.

:OO

:e

128 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)