Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Walidacja PESEL - brak informacji
n3xt
post
Post #1





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 7.11.2014

Ostrzeżenie: (0%)
-----


Użyłem skryptu, który jest najbardziej popularnym w sieci i problem jest w tym, że nie wyświetla mi się żadna informacja zwrotna czy wprowadzona wartość jest poprawna.

  1. <?php
  2.  
  3. ini_set('display_errors','1');
  4.  
  5. echo 'Podany numer PESEL: ';
  6.  
  7. $PES = $_POST['PES'];
  8.  
  9. echo $PES;
  10.  
  11. echo ' jest: ';
  12.  
  13. function PESEL($PES)
  14. {
  15. if (!preg_match('/^[0-9]{11}$/',$PES))
  16. {
  17. echo 'za krótki';
  18. return false;
  19.  
  20. }
  21.  
  22. $arrSteps = array(1, 3, 7, 9, 1, 3, 7, 9, 1, 3);
  23. $intSum = 0;
  24. for ($i = 0; $i < 10; $i++)
  25. {
  26. $intSum += $arrSteps[$i] * $PES[$i];
  27. }
  28. $int = 10 - $intSum % 10;
  29. $intControlNr = ($int == 10)?0:$int;
  30. if ($intControlNr == $PES[10])
  31. {
  32. return true;
  33. echo 'prawidłowy';
  34. }
  35. return false;
  36. echo 'nieprawidłowy';
  37. }
  38. ?>


gdzie jest błąd?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
n3xt
post
Post #2





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 7.11.2014

Ostrzeżenie: (0%)
-----


ok, dodałem

  1. echo PESEL($PES);


i już sprawdza. tylko, jak teraz opuścić tą funkcję aby mając poprawny Pesel skrypt szedł dalej w moim przypadku to już zapisanie do bazy danych, bo wpisując tą walidację w cały skrypt nie działa nic a próbuje poprać plik test.php

  1. <?php
  2.  
  3. ini_set('display_errors','1');
  4.  
  5.  
  6. $NAZ = $_POST['NAZ'];
  7. $NIP = $_POST['NIP'];
  8. $REG = $_POST['REG'];
  9. $SEX = $_POST['SEX'];
  10. $IMIE = $_POST['IMIE'];
  11. $NAZW = $_POST['NAZW'];
  12. $PES = $_POST['PES'];
  13. $DOK = $_POST['DOK'];
  14. $SER = $_POST['SER'];
  15. $KOD = $_POST['KOD'];
  16. $MIE = $_POST['MIE'];
  17. $ULI = $_POST['ULI'];
  18. $TEL = $_POST['TEL'];
  19. $KOD2 = $_POST['KOD2'];
  20. $MIE2 = $_POST['MIE2'];
  21. $ULI2 = $_POST['ULI2'];
  22. $MAIL = $_POST['MAIL'];
  23.  
  24. $Y = date ('Y');
  25.  
  26. echo PESEL($PES);
  27.  
  28. function PESEL($PES)
  29. {
  30. if (!preg_match('/^[0-9]{11}$/',$PES))
  31. {
  32. echo 'za krótki';
  33. return false;
  34.  
  35. }
  36.  
  37. $arrSteps = array(1, 3, 7, 9, 1, 3, 7, 9, 1, 3);
  38. $intSum = 0;
  39. for ($i = 0; $i < 10; $i++)
  40. {
  41. $intSum += $arrSteps[$i] * $PES[$i];
  42. }
  43. $int = 10 - $intSum % 10;
  44. $intControlNr = ($int == 10)?0:$int;
  45. if ($intControlNr == $PES[10])
  46. {
  47. echo 'prawidłowy';
  48. return true;
  49.  
  50. }
  51. echo 'nieprawidłowy';
  52. return false;
  53.  
  54. }
  55. switch($SEX)
  56. {
  57. case 'K';
  58. $PL = 'Panią';
  59. break;
  60. case 'M';
  61. $PL = 'Panem';
  62. break;
  63. }
  64.  
  65.  
  66.  
  67. if($IMIE and $NAZW and $PES) {
  68. $connection = mysql_connect('localhost', 'root', '******')
  69. or die('Brak połączenia z serwerem MySQL');
  70. $db = mysql_select_db('klienci', $connection)
  71. or die('nie mogę połączyć się z bazą danych');
  72. $U = mysql_query("select count(distinct umowa) from umowy;");
  73. $UMO = mysql_fetch_array($U);
  74. $ins = mysql_query("INSERT INTO umowy SET Id=NULL, Umowa='$UMO', Firma='$NAZ', Nip='$NIP', Regon='$REG', Plec='$SEX', Imie='$IMIE', Nazwisko='$NAZW', Pesel='$PES', Dokument='$DOK', Seria='$SER', Kodpocz='$KOD', Miasto='$MIE', Ulica='$ULI', Kodpocz2='$KOD2', Miasto2='$MIE2', Ulica2='$ULI2', Telefon='$TEL', Email='$MAIL'");
  75. mysql_close($connection);
  76.  
  77.  
  78. header( 'Content-type: application/msword' );
  79. header( 'Content-Disposition: inline, filename:"umo.rtf"');
  80.  
  81. $DATA = date( 'd-m-Y' );
  82.  
  83.  
  84. $nazwa_pliku = 'umowa.rtf';
  85. $wyswietl = file_get_contents($nazwa_pliku);
  86. $wyswietl = str_replace( '<<UMO>>', $UMO.'/'. $Y, $wyswietl );
  87. $wyswietl = str_replace( '<<DATA>>', $DATA, $wyswietl );
  88. $wyswietl = str_replace( '<<NAZ>>', $NAZ, $wyswietl );
  89. $wyswietl = str_replace( '<<NIP>>', $NIP, $wyswietl );
  90. $wyswietl = str_replace( '<<REG>>', $REG, $wyswietl );
  91. $wyswietl = str_replace( '<<SEX>>', $PL, $wyswietl );
  92. $wyswietl = str_replace( '<<IMIE>>', $IMIE, $wyswietl );
  93. $wyswietl = str_replace( '<<NAZW>>', $NAZW, $wyswietl );
  94. $wyswietl = str_replace( '<<PES>>', $PES, $wyswietl );
  95. $wyswietl = str_replace( '<<DOK>>', $DOK, $wyswietl );
  96. $wyswietl = str_replace( '<<SER>>', $SER, $wyswietl );
  97. $wyswietl = str_replace( '<<KOD>>', $KOD, $wyswietl );
  98. $wyswietl = str_replace( '<<MIE>>', $MIE, $wyswietl );
  99. $wyswietl = str_replace( '<<ULI>>', $ULI.',', $wyswietl );
  100. $wyswietl = str_replace( '<<KOD2>>', $KOD2, $wyswietl );
  101. $wyswietl = str_replace( '<<MIE2>>', $MIE2, $wyswietl );
  102. $wyswietl = str_replace( '<<ULI2>>', $ULI2.',', $wyswietl );
  103. $wyswietl = str_replace( '<<TEL>>', $TEL, $wyswietl );
  104. $wyswietl = str_replace( '<<MAIL>>', $MAIL, $wyswietl );
  105. $wyswietl = str_replace( 'ą', '\u261a', $wyswietl );
  106. $wyswietl = str_replace( 'ó', '\u243a', $wyswietl );
  107.  
  108. echo $wyswietl;
  109. }
  110. ?>


Ten post edytował n3xt 16.11.2014, 22:00:24
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 28.12.2025 - 22:21