-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.php
More file actions
95 lines (80 loc) · 2.5 KB
/
index.php
File metadata and controls
95 lines (80 loc) · 2.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
<?php
function validateIBAN($iban) {
// IBAN'ı büyük harfe çevir
$iban = strtoupper($iban);
// Boşlukları kaldır
$iban = str_replace(' ', '', $iban);
// IBAN uzunluklarını ülkelere göre belirle
$ibanLengths = [
'TR' => 26, // Türkiye IBAN uzunluğu
// Diğer ülkelerin IBAN uzunlukları buraya eklenebilir
];
// IBAN'ın ülke kodunu al
$countryCode = substr($iban, 0, 2);
// IBAN uzunluğunu kontrol et
if (!isset($ibanLengths[$countryCode]) || strlen($iban) !== $ibanLengths[$countryCode]) {
return false;
}
// IBAN'ı kontrol basamakları için yeniden düzenle
$ibanCheck = substr($iban, 4) . substr($iban, 0, 4);
// Harfleri sayılara dönüştür
$ibanCheck = str_replace(range('A', 'Z'), range(10, 35), $ibanCheck);
// IBAN mod 97 kontrolü
if (bcmod($ibanCheck, '97') != 1) {
return false;
}
return true;
}
function getBankName($iban) {
// Türkiye için IBAN'dan banka kodunu al
if (substr($iban, 0, 2) === 'TR') {
$bankCode = substr($iban, 4, 5);
$banks = [
'00001' => 'Ziraat Bankası',
'00010' => 'Türkiye Cumhuriyeti Merkez Bankası',
'00111' => 'Finans Bankası',
'00062' => 'Garanti Bankası',
'00017' => 'Halk Bankası',
'00032' => 'VakıfBank',
'00125' => 'Akbank',
'00146' => 'İş Bankası',
'00159' => 'Yapı Kredi Bankası',
'00205' => 'Garanti Bankası',
// Diğer bankalar buraya eklenebilir
];
if (isset($banks[$bankCode])) {
return $banks[$bankCode];
} else {
return 'Bilinmeyen Banka';
}
}
return 'Ülke kodu desteklenmiyor';
}
// Kullanıcıdan IBAN al
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$iban = $_POST['iban'];
// Boşlukları kaldır
$iban = str_replace(' ', '', $iban);
if (validateIBAN($iban)) {
$bankName = getBankName($iban);
echo "IBAN geçerli. Banka: $bankName";
} else {
echo "IBAN geçersiz.";
}
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>IBAN Doğrulama</title>
</head>
<body>
<form method="post" action="">
<label for="iban">IBAN:</label>
<input type="text" id="iban" name="iban">
<input type="submit" value="Kontrol Et">
</form>
</body>
</html>