barakuda Ierakstīts Marts 18, 2008 Share Ierakstīts Marts 18, 2008 Kādam nav apraksts, kā personas kodam pareizību pārbauda? Link to comment Share on other sites More sharing options...
DJ_BioniX Marts 18, 2008 Share Marts 18, 2008 ja nemaldos, tad tas algoritms ir valsts nosleepums. ja pareizi atceros, kautkad laiku atpakal ssii teema bija pacelta forumaa Link to comment Share on other sites More sharing options...
Pietuka Krustiņš Marts 18, 2008 Share Marts 18, 2008 http://laacz.lv/2006/11/25/pk-parbaudes-algoritms/ Labrīt! Link to comment Share on other sites More sharing options...
barakuda Marts 18, 2008 Author Share Marts 18, 2008 (labots) Ok, danke schön. Varbūt kāds var pielikt pie sticky, lai nākamais neprasa atkal? Labots Marts 18, 2008 - barakuda Link to comment Share on other sites More sharing options...
maize Marts 18, 2008 Share Marts 18, 2008 Un pēc šī: http://ps.id.lv/php/pinlv/ Link to comment Share on other sites More sharing options...
Hornicn Aprīlis 14, 2008 Share Aprīlis 14, 2008 hmmm... man kautkas nestrādā ar tā php iedabūšanu html, kāds var ieraksīt post komandu pareizu? Link to comment Share on other sites More sharing options...
Val Aprīlis 14, 2008 Share Aprīlis 14, 2008 if(isset($_POST['pk']) && !empty($_POST['pk'])) { if(PK_VALID($_POST['pk'])===true) { //ok } else { //nav ok }; }; Link to comment Share on other sites More sharing options...
Hornicn Aprīlis 15, 2008 Share Aprīlis 15, 2008 es ar php tā nedaudz uz Jūs, man ir perskods.html - <form action="validation.php" method=post target="_self"> <span class="style3">Parbaudamais personas kods :</span> <input name="pk" type="text" class="style1" value="XXXXXXXXXXX" size="12" maxlength="12"> <input type=submit class="style1" value="Pārbaudīt"> </form> kas ved uz validation.php failu - <? function PK_VALID($pk) { $pk = trim(str_replace("-", "", $pk)); if (!$pk || !strlen($pk)==11) return false; $checksum = 1; for ($i=0; $i<10; $i++) $checksum -= (int)substr($pk, $i, 1) * (int)substr("01060307091005080402", $i * 2, 2); if ( ($checksum - floor($checksum / 11) * 11) != (int)substr($pk, 10, 1) ) return false; return true; } ?> tātad ko man darīt lai html formā ievadītie dati tiktu post php failā, apstrādāti un izvadīta atbilde... FALSE vai TRUE? loti kārojas šo mehanismu izveidot Link to comment Share on other sites More sharing options...
Roboc Aprīlis 15, 2008 Share Aprīlis 15, 2008 tam validation.php failam beigās iemet rindiņu: echo PK_VALID($_POST['pk']); Link to comment Share on other sites More sharing options...
Hornicn Aprīlis 15, 2008 Share Aprīlis 15, 2008 iemetu, bet efekta nekāda... izmeginaju to rindinju visas iespejamajas pozicijas, un tad pamaniju ka man tur tada jau bijusi, nelidzeja, nodzesu meklejot citus apkartcelus... tam validation.php failam beigās iemet rindiņu: echo PK_VALID($_POST['pk']); Link to comment Share on other sites More sharing options...
versatile Aprīlis 15, 2008 Share Aprīlis 15, 2008 php uzstadits? mazums kas.... :roll: Link to comment Share on other sites More sharing options...
Didulis Aprīlis 15, 2008 Share Aprīlis 15, 2008 Faila beigās ieliec šo $valid = PK_VALID($_POST['pk']); echo ($valid ? 'Personas kods ir valīds' : 'Personas kods ir invalīds;-)'); Link to comment Share on other sites More sharing options...
Hornicn Aprīlis 15, 2008 Share Aprīlis 15, 2008 (labots) html fails ir tiesi tads pats, validation.php tagad izskatās šads... bet tik un tā nekas neiet echo vietā izmet baltu ekrānu bez jebkā un php ir uz servera <? function PK_VALID($pk) { $pk = trim(str_replace("-", "", $pk)); if (!$pk || !strlen($pk)==11) return false; $checksum = 1; for ($i=0; $i<10; $i++) $checksum -= (int)substr($pk, $i, 1) * (int)substr("01060307091005080402", $i * 2, 2); if ( ($checksum - floor($checksum / 11) * 11) != (int)substr($pk, 10, 1) ) return false; return true; $valid = PK_VALID($_POST['pk']); echo ($valid ? 'Personas kods ir valīds' : 'Personas kods ir invalīds;-)'); } ?> (atstarpes sametu uz izjūtu) Labots Aprīlis 15, 2008 - Hornicn Link to comment Share on other sites More sharing options...
Didulis Aprīlis 15, 2008 Share Aprīlis 15, 2008 Jābūt šādi -> <? function PK_VALID($pk) { $pk = trim(str_replace("-", "", $pk)); if (!$pk || !strlen($pk)==11) return false; $checksum = 1; for ($i=0; $i<10; $i++) $checksum -= (int)substr($pk, $i, 1) * (int)substr("01060307091005080402", $i * 2, 2); if ( ($checksum - floor($checksum / 11) * 11) != (int)substr($pk, 10, 1) ) return false; return true; } $valid = PK_VALID($_POST['pk']); echo ($valid ? 'Personas kods ir valīds' : 'Personas kods ir invalīds;-)'); ?> Link to comment Share on other sites More sharing options...
itanium Augusts 5, 2020 Share Augusts 5, 2020 Priekš jaunā PK arī ir pieejams tāds algoritms? Vai arī tur viss pa vienkāršo: garums = 11, sākas ar 32 un visi pārējie ir random cipari (0-9)? Link to comment Share on other sites More sharing options...
Mezavecis Augusts 5, 2020 Share Augusts 5, 2020 Pēc šī dokumenta spriežot, jaunajiem PK nav nekāds validācijas algoritms un regex stipri noīsināts. Ja tagad jaunie kodi sākas ar 32, tad nav teikts, ka pēc gada tie nebūs 33, 34 utt. https://viss.gov.lv/-/media/Files/VRAA/Dokumentacija/Vadlinijas/E_pakalpojumi/Programmetaja_rokasgramatas/VISS2014REKPKMEPAK.ashx Link to comment Share on other sites More sharing options...
AndrisBB Augusts 5, 2020 Share Augusts 5, 2020 Tapēc ka tad tavs kods sāktos ar nulli 1 3 Link to comment Share on other sites More sharing options...
itanium Augusts 5, 2020 Share Augusts 5, 2020 (labots) BURN Pirms 13 minūtēm , Mezavecis teica: Ja tagad jaunie kodi sākas ar 32, tad nav teikts, ka pēc gada tie nebūs 33, 34 Kā būs, tā būs - PK ar 32 sākumā ir no 2017. gada jūlija. Labots Augusts 5, 2020 - itanium Link to comment Share on other sites More sharing options...
Recommended Posts
Izveido kontu, vai pieraksties esošajā, lai komentētu
Jums ir jābūt šī foruma biedram, lai varētu komentēt tēmas
Izveidot jaunu kontu
Piereģistrējies un izveido jaunu kontu, tas būs viegli!
Reģistrēt jaunu kontuPierakstīties
Jums jau ir konts? Pierakstieties tajā šeit!
Pierakstīties tagad!