IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası
  reklamver

Etiketlenen Kullanıcılar

Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 25 Eylül 2009, 22:38   #1
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
kredi kartları için yazılmış class




<?php

class credit{

function credit(){

}

function validate($cc_number, $cvv2, $date){
$this->validateCard($cc_number);
$this->validateExDate($date);
$this->validateCVV($cc_number, $cvv2);
}

function validateCard($cc_number){
global $e;

$first_number = substr($cc_number, 0, 1);
switch ($first_number){
case 3:
if (!preg_match('/^3\d{3}[ \-]?\d{6}[ \-]?\d{5}$/', $cc_number)) $e->setError("American Express number is not valid");
break;
case 4:
if (!preg_match('/^4\d{3}[ \-]?\d{4}[ \-]?\d{4}[ \-]?\d{4}$/', $cc_number)) $e->setError("Visa number is not valid");
break;
case 5:
if (!preg_match('/^5\d{3}[ \-]?\d{4}[ \-]?\d{4}[ \-]?\d{4}$/', $cc_number)) $e->setError("MasterCard number is not valid");
break;
case 6:
if (!preg_match('/^6011[ \-]?\d{4}[ \-]?\d{4}[ \-]?\d{4}$/', $cc_number)) $e->setError("Discover Card number is not valid");
break;
default:
$e->setError("Credit Card number is not valid: Error 1");
break;
}

if($e->countErrors() == 0) $this->validateCard2($cc_number);

}

function validateCard2($cc_number){
global $e;

$checksum = 0;

$j = 1;

for ($i = strlen($cc_number) - 1; $i >= 0; $i--){

$calc = substr($cc_number, $i, 1) * $j;

if ($calc > 9){
$checksum = $checksum + 1;
$calc = $calc - 10;
}

$checksum += $calc;

if ($j == 1){
$j = 2;
}else{
$j = 1;
}
}

if ($checksum % 10 != 0) $e->setError("Credit Card number is not valid: Error 2");
}

function validateExDate($date){
global $e;

$month = substr($date, 0, 2);
$year = substr($date, 2, 2);

$current_month = date("m");
$current_year = date("y");
if ($year < $current_year){
$e->setError("Expiration Date is not valid : Error 3");
}else{
if ($year == $current_year)
{
if ($month < $current_month){
$e->setError("Expiration Date is not valid : Error 4");
}
}
}
}

function validateCVV($cc_number, $cvv2){
global $e;

$first_number = substr($cc_number, 0, 1);

if ($first_number == 3){
if (!preg_match("/^\d{4}$/", $cvv2)) $e->setError("CVV number is not valid : Error 5");
}else{
if (!preg_match("/^\d{3}$/", $cvv2)) $e->setError("CVV number is not valid : Error 6");
}
}

function maskCard($cc_number){
$count = strlen($cc_number);
for($i = 1; $i <= ($count -4); $i++){
echo "X";
}
echo substr($cc_number, -4);
}

}

?>


<?php

require_once "class.error.php";
$e = new error;
require_once "class.credit.php";
$cc = new credit;

if($_POST){
$cc_number = $_POST['cc_number'];
$expire_month = $_POST['expire_month'];
$expire_year = $_POST['expire_year'];
$cc_cvv = $_POST['cc_cvv'];

$date = $expire_month . $expire_year;
$cc->validate($cc_number, $cc_cvv, $date);

if($e->countErrors() == 0){
//process form
header("location: somewhere.php");
die();
}
}

?>

<?php $e->showErrors(); ?>
<form method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>">
<table border="0" cellpadding="4" width="450">
<tr>
<td width="200" class="tbl_left">Payment Type: </td>
<td width="250" class="tbl_right">Credit Card</td>
</tr>
<tr>
<td class="tbl_left">Card Holder Name: </td>
<td class="tbl_right"><input type="text" name="cc_name" /></td>
</tr>
<tr>
<td class="tbl_left">Card Type: </td>
<td class="tbl_right"><select name="cc_type">
<option value="American Express">American Express</option>
<option value="Discover">Discover</option>
<option value="Master Card">Master Card</option>
<option value="Visa">Visa</option>
</select>
</td>
</tr>
<tr>
<td class="tbl_left">Credit Card Number: </td>
<td class="tbl_right"><input type="text" name="cc_number" /></td>
</tr>
<tr>
<td class="tbl_left">Expiration Date: </td>
<td class="tbl_right"><select name="expire_month">
<option value="01">January</option>
<option value="02">February</option>
<option value="03">March</option>
<option value="04">April</option>
<option value="05">May</option>
<option value="06">June</option>
<option value="07">July</option>
<option value="08">August</option>
<option value="09">September</option>
<option value="10">October</option>
<option value="11">November</option>
<option value="12">December</option>
</select>
<select name="expire_year">
<?php
for($x=date(Y); $x<=2050; $x++){
echo '<option value="'.substr($x, -2).'">'.$x.'</option>'."\n";
}
?>
</select>
</td>
</tr>
<tr>
<td class="tbl_left">CVV Number:</td>
<td class="tbl_right"><input type="text" name="cc_cvv" size="5" maxlength="4" /></td>
</tr>
<tr>
<td class="tbl_left">Enter a Promo Code: </td>
<td class="tbl_right"><input type="text" name="promo_code" /></td>
</tr>
</table>
</form>


echo $cc->maskCard($cc_number);

__________________
'Türkçe konuşmayan bir insan, Türk milli kültür, toplum ve uygarlığına bağlılığını iddia ederse, buna inanmak doğru olmaz.''
-Mustafa Kemal Atatürk.
 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları eglen sohbet reklamver
Cevapla

Etiketler
class, kartlari, kartları, kredi, yazilmis, yazılmış


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Açık
Refbacks are Açık


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
Kredi kartları 2024'ten itibaren değişecek CyBeR Teknoloji Dünyasından Son Haberler 0 23 Ağustos 2021 11:49
Yapı Kredi'den Öğretmenler Günü için özel kredi Desmont Haber Arşivi 0 21 Kasım 2014 20:01
Kredi Kartları İle Evlilikler Bitmesin Liaaa Aile Evlilik ve Çocuklar 0 27 Mart 2012 13:38