kreditkarte checken

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • kreditkarte checken

    hallo,
    kennt jemand ein einfaches skript um die Validierung einer Kreditkarte zu checken. ich habe zwar das gefunden, aber ich weiß nicht wie ich das nun anwenden soll. also wenn ich nun ein select menu habe mit der auswahl zwischen visa und mastercard
    * mcd - Master Card
    * vis - Visa
    und ein textfeld mit der nummer.
    wie wende ich dann dieses skript hier darauf an. wäre super nett wenn mir jemand weiterhelfen könnte.


    function CCVal($Num, $Name = 'n/a') {

    // Innocent until proven guilty
    $GoodCard = true;

    // Get rid of any non-digits
    $Num = ereg_replace("[^[:digit:]]", "", $Num);

    // Perform card-specific checks, if applicable
    switch ($Name) {

    case "mcd" :
    $GoodCard = ereg("^5[1-5].{14}$", $Num);
    break;

    case "vis" :
    $GoodCard = ereg("^4.{15}$|^4.{12}$", $Num);
    break;

    case "amx" :
    $GoodCard = ereg("^3[47].{13}$", $Num);
    break;

    case "dsc" :
    $GoodCard = ereg("^6011.{12}$", $Num);
    break;

    case "dnc" :
    $GoodCard = ereg("^30[0-5].{11}$|^3[68].{12}$", $Num);
    break;

    case "jcb" :
    $GoodCard = ereg("^3.{15}$|^2131|1800.{11}$", $Num);
    break;
    }

    // The Luhn formula works right to left, so reverse the number.
    $Num = strrev($Num);

    $Total = 0;

    for ($x=0; $x<strlen($Num); $x++) {
    $digit = substr($Num,$x,1);

    // If it's an odd digit, double it
    if ($x/2 != floor($x/2)) {
    $digit *= 2;

    // If the result is two digits, add them
    if (strlen($digit) == 2)
    $digit = substr($digit,0,1) + substr($digit,1,1);
    }

    // Add the current digit, doubled and added if applicable, to the Total
    $Total += $digit;
    }

    // If it passed (or bypassed) the card-specific check and the Total is
    // evenly divisible by 10, it's cool!
    if ($GoodCard && $Total % 10 == 0) return true; else return false;
    }

  • #2
    Also ich würd's einfach mal so probieren:

    Füge das Script in die php-Datei ein, an das die Daten aus deinem Formular gepostet werden. Vielleicht per include, ist aber auch egal.

    Dann rufst die Funktion ganz einfach auf und testest auf Gültigkeit der Nummer:

    if(CCVal($nummer, $auswahl)) echo "ist ok";
    else "ne du, lass mal...";

    Wichtig in dem Fall ist natürlich, dass du das Textfeld für die Kreditkartennummer "nummer" nennst und die <select>list "auswahl".

    Ich bin noch nicht so ganz von diesen Kreditkartencheckern überzeugt; bei einer Website, die unsere Firma entwickelte, fiel eine gültige Eurocard-Nummer durch die dafür vorgesehene Validierung durch... anscheinend hatte Mastercard das Format seiner Nummern geändert oder was auch immer...

    Kommentar


    • #3
      danke

      Kommentar

      Lädt...
      X