Skocz do zawartości
Michael2318

[PHP]Sprawdzanie nazwy banku po numerze konta

Polecane posty

Michael2318

Witajcie!

Chciałbym Wam przedstawić, jak za pomocą PHP można sprawdzić do jakiego banku należy dany numer konta.
Na początek trochę teoretycznie - Każdy numer konta składa się tylko i wyłącznie z cyfr, jest ich 26. Number konta możemy identyfikować po 3, 4, 5 i 6 cyfrze w numerze konta.
Więc zaczynamy:

Najpierw tworzymy sobie pliczek, w którym przetrzymywać będziemy te 4 cyfry, które umożliwią nam rozpoznanie banku, u mnie pliczek nazywa się lang_bank.php:

<?php
$lang['1010'] = 'Narodowy Bank Polski';
$lang['1020'] = 'Powszechna Kasa Oszczędności Bank Polski SA';
$lang['1030'] = 'Bank Handlowy w Warszawie SA';
$lang['1050'] = 'ING Bank Śl±ski SA';
$lang['1060'] = 'Bank BPH SA';
$lang['1090'] = 'Bank Zachodni WBK SA';
$lang['1130'] = 'Bank Gospodarstwa Krajowego';
$lang['1140'] = 'BRE Bank SA';
$lang['1160'] = 'Bank Millennium SA';
$lang['1240'] = 'Bank Polska Kasa Opieki SA';
$lang['1280'] = 'HSBC Bank Polska SA';
$lang['1300'] = 'Bank Współpracy Europejskiej SA';
$lang['1320'] = 'Bank Pocztowy SA';
$lang['1340'] = 'DRESDNER BANK POLSKA SA';
$lang['1370'] = 'Bank Inicjatyw Społeczno - Ekonomicznych SA';
$lang['1400'] = 'Bank Rozwoju Budownictwa Mieszkaniowego SA';
$lang['1420'] = 'Bank Rozwoju Cukrownictwa SA';
$lang['1440'] = 'NORDEA BANK POLSKA SA';
$lang['1460'] = 'Wschodni Bank Cukrownictwa SA';
$lang['1470'] = 'Euro Bank SA';
$lang['1500'] = 'Kredyt Bank SA';
$lang['1540'] = 'Bank Ochrony Środowiska SA';
$lang['1560'] = 'Getin Bank SA';
$lang['1580'] = 'DaimlerChrysler Bank Polska SA';
$lang['1600'] = 'FORTIS BANK POLSKA SA';
$lang['1610'] = 'Gospodarczy Bank Wielkopolski SA';
$lang['1670'] = 'ABN AMRO BANK (Polska) SA';
$lang['1680'] = 'INVEST - BANK SA';
$lang['1690'] = 'DOMINET BANK SA';
$lang['1710'] = 'GE Money Bank SA';
$lang['1740'] = 'DZ BANK Polska SA';
$lang['1750'] = 'Raiffeisen Bank Polska SA';
$lang['1790'] = 'Calyon Bank Polska SA';
$lang['1830'] = 'Danske Bank Polska SA';
$lang['1840'] = 'Societe Generale SA Oddział w Polsce';
$lang['1860'] = 'BNP Paribas Bank Polska SA';
$lang['1870'] = 'WestLB Bank Polska SA';
$lang['1880'] = 'Deutsche Bank Polska SA';
$lang['1890'] = 'BPH Bank Hipoteczny SA';
$lang['1910'] = 'Deutsche Bank PBC SA';
$lang['1930'] = 'BANK POLSKIEJ SPÓŁDZIELCZOŚCI SA';
$lang['1940'] = 'LUKAS Bank SA';
$lang['1950'] = 'GMAC Bank Polska SA';
$lang['1960'] = 'AIG Bank Polska SA';
$lang['2000'] = 'Rabobank Polska SA';
$lang['2030'] = 'Bank Gospodarki Żywnościowej SA';
$lang['2060'] = 'Mazowiecki Bank Regionalny SA';
$lang['2070'] = 'FCE Bank Polska SA';
$lang['2120'] = 'Santander Consumer Bank SA';
$lang['2130'] = 'VOLKSWAGEN BANK POLSKA SA';
$lang['2140'] = 'Fiat Bank Polska SA';
$lang['2150'] = 'BRE Bank Hipoteczny SA';
$lang['2160'] = 'Toyota Bank Polska SA';
$lang['2180'] = 'Śl±ski Bank Hipoteczny SA';
$lang['2190'] = 'NORD/LB Bank Polska SA';
$lang['2210'] = 'Bank of Tokyo-Mitsubishi UFJ (Polska) SA';
$lang['2220'] = 'Nykredit Bank Hipoteczny SA';
$lang['2230'] = 'Cetelem Bank SA';
$lang['2240'] = 'Banque PSA Finance SA Oddział w Polsce';
$lang['2250'] = 'Svenska Handelsbanken AB SA Oddział w Polsce';
$lang['2260'] = 'RCI Bank Polska SA';
$lang['2270'] = 'Sygma Banque Societe Anonyme (SA) Oddział w Polsce';
$lang['2280'] = 'Jyske Bank A/S SA Oddział w Polsce';
$lang['2300'] = 'ABN AMRO Bank N.V.SA Oddział w Polsce (w organizacji)';
$lang['2310'] = 'Dresdner Bank AG SA Oddział w Polsce';
$lang['2320'] = 'Nykredit Realkredit A/S SA - Oddział w Polsce';
$lang['2330'] = 'Calyon SA Oddział w Polsce (w organizacji)';
$lang['2340'] = 'EFG Eurobank Ergasias S.A. SA Oddział w Polsce';
$lang['2350'] = 'BNP PARIBAS SA Oddział w Polsce';
?>

Następnie tworzymy plik, w którym umieścimy formularz no i sprawdzanie, z jakiego banku wywodzi się numer U mnie plik nazywa się bank.php.
Najpierw otwieramy znacznik pozwalający wprowadzić kod php - , wdrażamy nasz plik z danymi o bankach, a następnie tworzymy krótki formularzyk, składający się z input'a w który wklepywać będziemy numer konta, oraz input'a - submit (button/guzik sprawdzający):

<?php
require_once('lang_bank.php');
if ( !isset($_POST['submit']) )
{
	$body = '<form action="bank.php" method="post"><table><tr><td>Numer konta: <input type="post" name="account_number"></td></tr><tr><td><input type="submit" name="submit" value="Sprawdz!"></td></tr></table></form>';
	echo $body;
	exit;
}

Następnie, jeśli użytkownik kliknie submit i pole z numerem konta nie jest puste to filtrujemy podany przez niego numer - pozbywamy się spacji, jeśli użytkownik je po sobie zostawił (często podajemy numer konta w formie: xx xxx xxx xxx itd. - to mam na myśli). Następnie sprawdzamy czy na pewno wpisany przez użytkownika numer składa się tylko i wyłącznie z cyfr i ew. spacji oraz czy cyfry w sumie po zliczeniu ich dają nam wynik 26. Jeśli tak jest to wyciągamy 4 cyfry licząc od 3. Załóżmy że wynik to 1050. Następnie sprawdzamy czy w naszym pliku z numerami, mamy numer 1050 - $lang['1050']. Jeśli mamy to zwracamy iż jest to jakiś tam bank, natomiast jeśli takiego numeru nie ma w naszym spisie - wyrzucamy komunikat iż nie ma takiego banku w naszym systemie:

else if ( isset($_POST['submit']) && !empty($_POST['account_number']) )
{
	$numer_konta = $_POST['account_number'];
	$nr_konta = str_replace(' ', '', $numer_konta);
	if ( (preg_match( "/^[0-9- ]+$/" , $numer_konta) || preg_match( "/^[0-9]+$/" , $numer_konta)) && strlen($nr_konta) == 26 )
	{
		$find_name_bank = substr($nr_konta, 2, 4);
		$bank_name = $lang[''.$find_name_bank.''] !== NULL ? $lang[''.$find_name_bank.''] : 'Nie ma takiego banku w naszym systemie';
		echo $bank_name;
	}
	else
	{
		echo "Wpisany numer konta jest nieprawidlowy!";
		exit;
	}
}
else if ( isset($_POST['submit']) && empty($_POST['account_number']) )
{
	echo "Wpisz numer konta!";
	exit;
}
?>

Potem mamy jeszcze dwa warunki - jeśli numer konta, wpisany przez usera nie składa się tylko z cyfr i w sumie nie ma ich 26 to wyrzucamy komunikat iż wpisany numer jest niepoprawny. Jeśli natomiast użytkownik w pole w numerem konta nic nie wpisał - wyrzucamy błąd "wpisz numer konta".

To tyle Pliczki gotowe dodaję jeszcze w załączniku.

Mam nadzieję, że komuś się przyda

Pozdr.

banki.rar

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
bootek

Fajowy poradnik. Przyda się pewnie jakims firmom itp ;P

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Daniel

Pobrałem na prawdę świetna sprawa. Dobra robota :brawo:


Ar­tyści nig­dy nie przes­tają być dziećmi, ale niektóre dzieci rodzą się dorosłe.

 

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość
Temat jest zablokowany i nie można w nim pisać.
×
×
  • Utwórz nowe...