Array Column ile Dizi Verilerini Anahtar ve Değer Olarak Birleştirme

Dizi girdilerinde istenilen sütundaki değerleri döndürür.
array_column($veri, $anahtar);

PHP
93 lines
<?php
if (version_compare(phpversion(), '5.5.0', '<')) {//5.5.0'dan eski sürümler için
if (!function_exists('array_column')) {
function array_column($input = null, $columnKey = null, $indexKey = null)
{
$argc = func_num_args();
$params = func_get_args();
if ($argc < 2) {
trigger_error("array_column() expects at least 2 parameters, {$argc} given", E_USER_WARNING);
return null;
}
if (!is_array($params[0])) {
trigger_error(
'array_column() expects parameter 1 to be array, ' . gettype($params[0]) . ' given',
E_USER_WARNING
);
return null;
}
if (!is_int($params[1])
&& !is_float($params[1])
&& !is_string($params[1])
&& $params[1] !== null
&& !(is_object($params[1]) && method_exists($params[1], '__toString'))
) {
trigger_error('array_column(): The column key should be either a string or an integer', E_USER_WARNING);
return false;
}
if (isset($params[2])
&& !is_int($params[2])
&& !is_float($params[2])
&& !is_string($params[2])
&& !(is_object($params[2]) && method_exists($params[2], '__toString'))
) {
trigger_error('array_column(): The index key should be either a string or an integer', E_USER_WARNING);
return false;
}
$paramsInput = $params[0];
$paramsColumnKey = ($params[1] !== null) ? (string) $params[1] : null;
$paramsIndexKey = null;
if (isset($params[2])) {
if (is_float($params[2]) || is_int($params[2])) {
$paramsIndexKey = (int) $params[2];
} else {
$paramsIndexKey = (string) $params[2];
}
}
$resultArray = array();
foreach ($paramsInput as $row) {
$key = $value = null;
$keySet = $valueSet = false;
if ($paramsIndexKey !== null && array_key_exists($paramsIndexKey, $row)) {
$keySet = true;
$key = (string) $row[$paramsIndexKey];
}
if ($paramsColumnKey === null) {
$valueSet = true;
$value = $row;
} elseif (is_array($row) && array_key_exists($paramsColumnKey, $row)) {
$valueSet = true;
$value = $row[$paramsColumnKey];
}
if ($valueSet) {
if ($keySet) {
$resultArray[$key] = $value;
} else {
$resultArray[] = $value;
}
}
}
return $resultArray;
}
}
$liste = array(
array( 'no' => 246, 'adi' => 'Ahmet', 'soyadi' => 'Deniz', ),
array( 'no' => 358, 'adi' => 'Mehmet', 'soyadi' => 'Gök', ),
array( 'no' => 479, 'adi' => 'Mahmut', 'soyadi' => 'Kara', )
);
$soyadlari = array_column($liste, 'soyadi', 'no');
print_r($soyadlari);
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Çıktısı

Markdown
5 lines
Array(
[246] => Deniz
[358] => Gök
[479] => Kara
)
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Referans: https://raw.githubusercontent.com/ramsey/array_column

Password Hash ve Password Verify Kullanımı

PHP
20 lines
<?php //php5.5 sürümü ile gelen şifreleme fonksiyonu
//şifre oluşturma///////////////////////////////////////////
echo password_hash("rasmuslerdorf", PASSWORD_DEFAULT);
//çıktısı
//$2y$10$.vGA1O9wmRjrwAVXD98HNOgsNpDczlqm3Jq7KnEd1rVAGv3Fykk1a
//veya
$options = ['cost' => 12,];
echo password_hash("rasmuslerdorf", PASSWORD_BCRYPT, $options);
//çıktısı
//$2y$12$QjSH496pcT5CEbzjD/vtVeH03tfHKFy36d4J0Ltp3lRtee9HDxY3K
//şifre doğrulama/////////////////////////////////////////////////////
$hash = '$2y$07$BCryptRequires22Chrcte/VlQH0piJtjXl.0t1XkA8pw9dMXTpOq';
if (password_verify('rasmuslerdorf', $hash)) {
echo 'Doğru Şifre!';
} else {
echo 'Hatalı Şifre.';
}
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

 

Üçgen Yapımı

style tagı içerisine bu kodu ekleyiniz.

CSS
31 lines
.yukari {
border-left:12px solid transparent;
border-right:12px solid transparent;
border-bottom:12px solid #09F;
width:0;
height:0;
}
.asagi {
border-left:12px solid transparent;
border-right:12px solid transparent;
border-top:12px solid #0B0;
width:0;
height:0;
}
.sol {
border-right:12px solid #B00;
border-top:12px solid transparent;
border-bottom:12px solid transparent;
width:0;
height:0;
}
.sag {
border-left:12px solid #F60;
border-top:12px solid transparent;
border-bottom:12px solid transparent;
width:0;
height:0;
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

sayfa içerisinde bu kodu kullanın

HTML
4 lines
<div class="yukari"></div>
<div class="asagi"></div>
<div class="sol"></div>
<div class="sag"></div>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

 

Mobil Cihaz Tespiti

Php ile

PHP
8 lines
<?php
function isMobile() {
return preg_match("/(android|avantgo|blackberry|bolt|boost|cricket|docomo|fone|hiptop|mini|mobi|palm|phone|pie|tablet|up.browser|up.link|webos|wos)/i", $_SERVER["HTTP_USER_AGENT"]);
}
if(isMobile()){
header('Location:·http://localhost/mobil');
}
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Javascript ile

PHP
1 lines
(function(a,b){if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0,4)))window.location=b})(navigator.userAgent||navigator.vendor||window.opera,'http://localhost/mobil');
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

 

Gelişmiş Hesap Makinesi

HTML
288 lines
<HTML>
<HEAD>
<TITLE>JavaScript Gelismis Hesap Makinesi</TITLE>
<SCRIPT LANGUAGE='JavaScript'>
var displayText = ""
var num1
var num2
var operatorType
// Write to display
function addDisplay(n){
document.calc.display.value = ""
displayText += n
document.calc.display.value = displayText
}
// Addition
function addNumbers() {
if (displayText == "") {
displayText = result
}
num1 = parseFloat(displayText)
operatorType = "add"
displayText = ""
}
// Subtraction
function subtractNumbers() {
if (displayText == "") {
displayText = result
}
num1 = parseFloat(displayText)
operatorType = "subtract"
displayText = ""
}
// Multiplication
function multiplyNumbers() {
if (displayText == "") {
displayText = result
}
num1 = parseFloat(displayText)
operatorType = "multiply"
displayText = ""
}
// Division
function divideNumbers() {
if (displayText == "") {
displayText = result
}
num1 = parseFloat(displayText)
operatorType = "divide"
displayText = ""
}
// Sine
function sin() {
if (displayText == "") {
num1 = result
}
else {
num1 = parseFloat(displayText)
}
if (num1 != "") {
result = Math.sin(num1)
document.calc.display.value = result
displayText = ""
}
else {
alert("Önce bir numara yazınız")
}
}
// Cosine
function cos() {
if (displayText == "") {
num1 = result
}
else {
num1 = parseFloat(displayText)
}
if (num1 != "") {
result = Math.cos(num1)
document.calc.display.value = result
displayText = ""
}
else {
alert("Önce bir numara yazınız")
}
}
// ArcSine
function arcSin() {
if (displayText == "") {
num1 = result
}
else {
num1 = parseFloat(displayText)
}
if (num1 != "") {
result = Math.asin(num1)
document.calc.display.value = result
displayText = ""
}
else {
alert("Önce bir numara yazınız")
}
}
// ArcCosine
function arcCos() {
if (displayText == "") {
num1 = result
}
else {
num1 = parseFloat(displayText)
}
if (num1 != "") {
result = Math.acos(num1)
document.calc.display.value = result
displayText = ""
}
else {
alert("Önce bir numara yazınız")
}
}
// Square root
function sqrt() {
if (displayText == "") {
num1 = result
}
else {
num1 = parseFloat(displayText)
}
if (num1 != "") {
result = Math.sqrt(num1)
document.calc.display.value = result
displayText = ""
}
else {
alert("Önce bir numara yazınız")
}
}
// Square number (number to the power of two)
function square() {
if (displayText == "") {
num1 = result
}
else {
num1 = parseFloat(displayText)
}
if (num1 != "") {
result = num1 * num1
document.calc.display.value = result
displayText = ""
}
else {
alert("Önce bir numara yazınız")
}
}
// Convert degrees to radians
function degToRad() {
if (displayText == "") {
num1 = result
}
else {
num1 = parseFloat(displayText)
}
if (num1 != "") {
result = num1 * Math.PI / 180
document.calc.display.value = result
displayText = ""
}
else {
alert("Önce bir numara yazınız")
}
}
// Convert radians to degrees
function radToDeg() {
if (displayText == "") {
num1 = result
}
else {
num1 = parseFloat(displayText)
}
if (num1 != "") {
result = num1 * 180 / Math.PI
document.calc.display.value = result
displayText = ""
}
else {
alert("Önce bir numara yazınız")
}
}
// Calculations
function calculate() {
if (displayText != "") {
num2 = parseFloat(displayText)
// Calc: Addition
if (operatorType == "add") {
result = num1 + num2
document.calc.display.value = result
}
// Calc: Subtraction
if (operatorType == "subtract") {
result = num1 - num2
document.calc.display.value = result
}
// Calc: Multiplication
if (operatorType == "multiply") {
result = num1 * num2
document.calc.display.value = result
}
// Calc: Division
if (operatorType == "divide") {
result = num1 / num2
document.calc.display.value = result
}
displayText = ""
}
else {
document.calc.display.value = "Hata!"
}
}
function clearDisplay() {
displayText = ""
document.calc.display.value = ""
}
</SCRIPT>
</HEAD>
<BODY BGCOLOR="#FFFFFF" LINK="#9C6060">
<TABLE>
<TD>
<TABLE BORDER=0 BGCOLOR="#AF9999">
<TD>
<TABLE border="0" cellpadding="2" cellspacing="2">
<FORM NAME=calc>
<TR>
<TD COLSPAN=5><INPUT TYPE=text SIZE=22 NAME=display></TD>
<TR align="left" valign="middle">
<TD><INPUT TYPE=button NAME="one" VALUE=" 1 " onClick=addDisplay(1)></TD>
<TD><INPUT TYPE=button NAME="two" VALUE=" 2 " onClick=addDisplay(2)></TD>
<TD><INPUT TYPE=button NAME="three" VALUE=" 3 " onClick=addDisplay(3)></TD>
<TD><INPUT TYPE=button NAME="plus" VALUE=" + " onClick=addNumbers()></TD>
<TR align="left" valign="middle">
<TD><INPUT TYPE=button NAME="four" VALUE=" 4 " onClick=addDisplay(4)></TD>
<TD><INPUT TYPE=button NAME="five" VALUE=" 5 " onClick=addDisplay(5)></TD>
<TD><INPUT TYPE=button NAME="six" VALUE=" 6 " onClick=addDisplay(6)></TD>
<TD><INPUT TYPE=button NAME="minus" VALUE=" - " onClick=subtractNumbers()></TD>
<TR align="left" valign="middle">
<TD><INPUT TYPE=button NAME="seven" VALUE=" 7 " onClick=addDisplay(7)></TD>
<TD><INPUT TYPE=button NAME="eight" VALUE=" 8 " onClick=addDisplay(8)></TD>
<TD><INPUT TYPE=button NAME="nine" VALUE=" 9 " onClick=addDisplay(9)></TD>
<TD><INPUT TYPE=button NAME="multiplication" VALUE=" * " onClick=multiplyNumbers()></TD>
<TR align="left" valign="middle">
<TD><INPUT TYPE=button NAME="zero" VALUE=" 0 " onClick=addDisplay(0)></TD>
<TD><INPUT TYPE=button NAME="pi" VALUE = " Pi " onClick=addDisplay(Math.PI)> </TD>
<TD><INPUT TYPE=button NAME="dot" VALUE=" . " onClick=addDisplay(".")></TD>
<TD><INPUT TYPE=button NAME="division" VALUE=" / " onClick=divideNumbers()></TD>
<TR align="left" valign="middle">
<TD><INPUT TYPE=button NAME="sqareroot" VALUE="sqrt" onClick=sqrt()></TD>
<TD><INPUT TYPE=button NAME="squarex" VALUE=" x^2" onClick=square()></TD>
<TD><INPUT TYPE=button NAME="deg-rad" VALUE="d2r " onClick=degToRad()></TD>
<TD><INPUT TYPE=button NAME="rad-deg" VALUE="r2d " onClick=radToDeg()></TD>
<TR align="left" valign="middle">
<TD><INPUT TYPE=button NAME="sine" VALUE=" sin " onClick=sin()></TD>
<TD><INPUT TYPE=button NAME="arcsine" VALUE="asin" onClick=arcSin()></TD>
<TD><INPUT TYPE=button NAME="cosine" VALUE="cos" onClick=cos()></TD>
<TD><INPUT TYPE=button NAME="arccosine" VALUE="acs" onClick=arcCos()></TD>
<TR align="left" valign="middle">
<TD COLSPAN=2><INPUT TYPE=button NAME=clear VALUE=" Temizle " onClick=clearDisplay()></TD>
<TD COLSPAN=3><INPUT TYPE=button NAME=enter VALUE=" = " onClick=calculate()></TD>
</TABLE>
</TABLE>
</TABLE>
</BODY>
</HTML>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

 

Basit Tema Sistemi

PHP
62 lines
<?php
class template
{
private $file = NULL; // -- Load File
private $content = NULL; // -- File Loaded
private $tags = array(); // -- Tags Added
private $count = 0; // -- Loop of Tags
public function fread($archive)
{
$this->file = @fopen($archive, "r");
$this->content = @fread($this->file, filesize($archive));
if(!$this->file) exit("Error open: {$archive}");
if(!$this->content) exit("Error read: {$archive}");
}
public function set($name, $value)
{
$this->tags[$this->count++] = array("name" => $name, "value" => $value);
}
public function show()
{
foreach($this->tags as $tags)
$this->content = str_replace("{".$tags['name']."}", $tags['value'], $this->content);
eval("?>".$this->content."<?");
}
}
define("TITLE", "Ben Sayfa Başlığıyım"); // -- Page Title
$veri="ben bir sayfa içeriğiyim";
$template = new template(); // -- Load Class
$template->set("TITLE", TITLE); // -- Add the tag {TITLE}
$template->set("ICERIK", $veri); // -- Add the tag {ICERIK}
switch($_GET["page"])
{
case "home" :
$template->fread("template/index.tpl.php"); // -- Load the index.tpl.php
break;
default :
$template->fread("template/index.tpl.php"); // -- Load the index.tpl.php
break;
}
$template->show(); // -- Show template
//alttaki html kodlarını template/index.tpl.php dosyası oluşturarak içine yazınız
/*
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>{TITLE}</title>
</head>
<body>
{CONTENT}
</body>
</html>
*/
// çalıştırmak için localhost/index.php?page=home tarzı case e göre
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

 

Aşk Ölçer

PHP
49 lines
<?php
error_reporting(4);
class lovecalc {
function lovecalc ($firstname, $secondname) {
$this->lovename = strtolower(preg_replace("/ /","",strip_tags(trim($firstname.$secondname))));
$alp = count_chars($this->lovename);
for($i=97;$i<=122;$i++){
if($alp[$i]!=false){
$anz = strlen($alp[$i]);
if($anz<2){ $calc[] = $alp[$i]; }
else{ for($a=0;$a<$anz;$a++){ $calc[] = substr($alp[$i],$a,1); } }
}
}
while (($anzletter = count($calc))>2) {
$lettermitte = ceil($anzletter/2);
for($i=0;$i<$lettermitte;$i++){
$sum = array_shift($calc)+array_shift($calc);
$anz = strlen($sum);
if($anz<2){ $calcmore[] = $sum; }
else{ for($a=0;$a<$anz;$a++){ $calcmore[] = substr($sum,$a,1); } }
}
$anzc = count($calcmore);
for($b=0;$b<$anzc;$b++){ $calc[] = $calcmore[$b]; }
array_splice($calcmore,0);
}
$this->lovestat = $calc[0].$calc[1];
}
function showlove () {
return "Mevcut Sevgi : %$this->lovestat";
}
}
//örnek kullanım
?>
<html>
<body>
<form action="" method="get">
Sen<input type="text" name="you" value="<?php echo @$_GET['you']; ?>"/>
Ben<input type="text" name="me" value="<?php echo @$_GET['me']; ?>"/>
<input type="submit" name="send" value="Hesapla"/>
</form>
</body>
</html>
<?php
$my_love = new lovecalc(@$_GET['you'],@$_GET['me']);
echo $my_love->showlove();
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

 

Kredi Kartı Tanıma

PHP
228 lines
<?php
error_reporting(4);
if(!defined(PHP_CREDITCARD_CLASS))
{
define(PHP_CREDITCARD_CLASS, 1);
define(UNKNOWN, 0);
define(MASTERCARD, 1);
define(VISA, 2);
define(AMEX, 3);
define(DINNERS, 4);
define(DISCOVER, 5);
define(ENROUTE, 6);
define(JCB, 7);
define(CC_OK, 0);
define(CC_ECALL, 1);
define(CC_EARG, 2);
define(CC_ETYPE, 3);
define(CC_ENUMBER, 4);
define(CC_EFORMAT, 5);
define(CC_ECANTYPE, 6);
class creditcard
{
var $number;
var $type;
var $errno;
function creditcard()
{
$this->number = 0;
$this->type = UNKNOWN;
$this->errno = CC_OK;
}
function check($cardnum)
{
$this->number = $this->_strtonum($cardnum);
if(!$this->detectType($this->number))
{
$this->errno = CC_ETYPE;
return false;
}
if($this->mod10($this->number))
{
$this->errno = CC_ENUMBER;
return false;
}
return true;
}
function detectType($cardnum = 0)
{
if($cardnum)
$this->number = $this->_strtonum($cardnum);
if(!$this->number)
{
$this->errno = CC_ECALL;
return UNKNOWN;
}
if(preg_match("/^5[1-5]d{14}$/", $this->number))
$this->type = MASTERCARD;
else if(preg_match("/^4(d{12}|d{15})$/", $this->number))
$this->type = VISA;
else if(preg_match("/^3[47]d{13}$/", $this->number))
$this->type = AMEX;
else if(preg_match("/^[300-305]d{11}$/", $this->number) ||
preg_match("/^3[68]d{12}$/", $this->number))
$this->type = DINNERS;
else if(preg_match("/^6011d{12}$/", $this->number))
$this->type = DISCOVER;
else if(preg_match("/^2(014|149)d{11}$/", $this->number))
$this->type = ENROUTE;
else if(preg_match("/^3d{15}$/", $this->number) ||
preg_match("/^(2131|1800)d{11}$/", $this->number))
$this->type = JCB;
if(!$this->type)
{
$this->errno = CC_ECANTYPE;
return UNKNOWN;
}
return $this->type;
}
function detectTypeString($cardnum = 0)
{
if(!$cardnum)
{
if(!$this->type)
$this->errno = CC_EARG;
}
else
$this->type = $this->detectType($cardnum);
if(!$this->type)
{
$this->errno = CC_ETYPE;
return NULL;
}
switch($this->type)
{
case MASTERCARD:
return "MASTERCARD";
case VISA:
return "VISA";
case AMEX:
return "AMEX";
case DINNERS:
return "DINNERS";
case DISCOVER:
return "DISCOVER";
case ENROUTE:
return "ENROUTE";
case JCB:
return "JCB";
default:
$this->errno = CC_ECANTYPE;
return NULL;
}
}
function getCardNumber()
{
if(!$this->number)
{
$this->errno = CC_ECALL;
return 0;
}
return $this->number;
}
function errno()
{
return $this->errno;
}
function mod10($cardnum)
{
for($sum=0, $i=strlen($cardnum)-1; $i >= 0; $i--)
{
$sum += $cardnum[$i];
$doubdigit = "".(2 * $cardnum[--$i]);
for($j = strlen($doubdigit)-1; $j >= 0; $j--)
$sum += $doubdigit[$j];
}
return $sum % 10;
}
function resetCard()
{
$this->number = 0;
$this->type = 0;
}
function strError()
{
switch($this->errno)
{
case CC_ECALL:
return "Geçersiz Arama";
case CC_ETYPE:
return "Bilinmeyen Kart Tipi";
case CC_ENUMBER:
return "Geçersiz Kart Numarası";
case CC_EFORMAT:
return "Geçersiz Format";
case CC_ECANTYPE:
return "Kart tipi taranamadı";
case CC_OK:
return "Başarılı";
}
}
function _strtonum($string)
{
for($i=0; $i< strlen($string); $i++)
{
if(!is_numeric($string[$i]))
continue;
$nstr = "$nstr".$string[$i];
}
return $nstr;
}
}
}
//ÖRNEK
$cc = new creditcard;
$card=$_GET[card];
if($card)
{
printf("%s nolu kart %s <br>n", $card,
(($ccret = $cc->check($card))?" gecerli":"gecersiz"));
if($ccret)
{
printf("Kart Tipi: %s veya %d<br>n", $cc->detectTypeString(),
$cc->detectType());
printf("Kart Numarasi: %s<br>n", $cc->getCardNumber());
}
else
printf("%s<br>n", $cc->strError());
}
?>
<form action="" method=get>
<input type=text name=card size=20><p>
<input type=submit value="Hesapla">
</form>
</body>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX