Sprawdzenie, czy wartość jest poprawnym numerem karty kredytowej
Założenie: Sprawdzimy, czy podana wartość jest poprawnym numerem karty kredytowej, używając algorytmu Luhna.
Krok po kroku:
- Otrzymanie numeru karty: Załóżmy, że numer karty został przesłany przez formularz i jest przechowywany w zmiennej
$cardNumber
. - Usunięcie spacji i myślników: Usuwamy zbędne znaki, aby uniknąć błędów w obliczeniach.
- Algorytm Luhna: Implementacja algorytmu Luhna do weryfikacji numeru karty.
- Wyświetlenie wyniku: Sprawdzamy wynik walidacji.
$cardNumber = str_replace([' ', '-'], '', $cardNumber);
function luhnCheck($number) {
$number = strrev($number);
$sum = 0;
for ($i = 0; $i < strlen($number); $i++) {
$digit = (int)$number[$i];
if ($i % 2 == 1) {
$digit *= 2;
if ($digit > 9) {
$digit -= 9;
}
}
$sum += $digit;
}
return $sum % 10 == 0;
}
$isValid = luhnCheck($cardNumber);
if ($isValid) {
echo "Numer karty jest poprawny.";
} else {
echo "Numer karty jest niepoprawny.";
}
Pamiętaj, że algorytm Luhna to tylko wstępna weryfikacja. Pełna walidacja wymaga kontaktu z bramką płatności.
Ten przykład pokazuje podstawy walidacji numeru karty kredytowej w PHP. Zachęcamy do dalszego zgłębiania tematu i poznawania bardziej zaawansowanych technik walidacji danych.