Bobby: Kreditkartenprüfung Luhnalgorythmus->Probleme

Beitrag lesen

Moin

ich will Kreditkartennummer auf den Luhnalgorythmus prüfen. Dazu nutz eich folgende (nicht von mir stammende) Funktion:

  
// Is the number valid against luhn?  
        $cardNumber = strrev($this->__ccNum);  
        $numSum = 0;  
        for($i = 0; $i < strlen($cardNumber); $i++)  
        {  
            $currentNum = substr($cardNumber, $i, 1);  
            if(floor($currentNum / 2) != $currentNum / 2)  
            {  
                $currentNum *= 2;  
            }  
            if(strlen($currentNum) == 2)  
            {  
                $firstNum = substr($currentNum, 0, 1);  
                $secondNum = substr($currentNum, 1, 1);  
                $currentNum = $firstNum + $secondNum;  
            }  
            $numSum += $currentNum;  
        }  
  
        // If the total has no remained its OK  
        $passCheck = ($numSum % 10 == 0 ? true : false);  

leider ist passCheck auch mit reelen Kartennummern false. Ich verstehe leider nicht ganz wieso. Wer kann mir helfen?

Gruß Bobby

--
-> Für jedes Problem gibt es eine Lösung, die einfach, sauber und falsch ist! <-
-> Nicht das Problem macht die Schwierigkeiten, sondern unsere Sichtweise! <-
ie:{ br:> fl:{ va:} ls:< fo:) rl:( n4:( de:> ss:) ch:? js:( mo:} sh:) zu:)