Sprawdzenie, czy wartość jest poprawnym numerem GLN
Założenie: Sprawdzimy, czy podana wartość jest poprawnym numerem GLN (Global Location Number).
Krok po kroku:
- Pobranie wartości z formularza: Załóżmy, że wartość GLN jest przesyłana metodą POST pod kluczem ‘gln’.
- Walidacja długości: Numer GLN ma zawsze 13 cyfr.
- Walidacja składni: Numer GLN składa się tylko z cyfr.
- Obliczenie cyfry kontrolnej: (Algorytm uproszczony dla przykładu – rzeczywista walidacja wymaga bardziej zaawansowanego algorytmu). W tym przykładzie sprawdzimy tylko czy ostatnia cyfra jest poprawna.
- Sukces: Jeżeli kod dotarł do tego punktu, numer GLN jest prawdopodobnie poprawny.
$gln = $_POST['gln'];
if (strlen($gln) !== 13) {
echo "Błędna długość numeru GLN.";
exit;
}
if (!ctype_digit($gln)) {
echo "Numer GLN musi składać się tylko z cyfr.";
exit;
}
$suma = 0;
for ($i = 0; $i < 12; $i++) {
$suma += $gln[$i] * (13 - $i);
}
$cyfraKontrolna = $suma % 11;
if ($cyfraKontrolna === 10) $cyfraKontrolna = 0;
if ($cyfraKontrolna != $gln[12]) {
echo "Błędna cyfra kontrolna.";
exit;
}
echo "Numer GLN jest poprawny.";
Pamiętaj, że powyższy przykład prezentuje uproszczoną walidację. Pełna weryfikacja numeru GLN wymaga bardziej zaawansowanego algorytmu.
Zachęcamy do dalszego zgłębiania tematu walidacji danych w PHP!