|
|
|
อยากได้ความช่วยเหลือเรื่อง php ครับ TMTOPUP เติมงิน+vip |
|
|
|
|
|
|
|
ลองแก้มั่วๆดู แบบนี้จะใช้งานได้หรือเปล่าครับ
Code (PHP)
<?php
/* API Connection TMTopup for Dadteam.Com*/
/*
* Modify by Nst Interactive [http://www.nstinteractive.com/]
*/
# ------------------------------------- Config Begin ------------------------------------- #
// ------------------------------------------------------------------------------------------------
/* MySQL Config | Begin */
// Hostname ของ MySQL Server
$_CONFIG['mysql']['dbhost'] = 'localhost';
// Username ที่ใช้เชื่อมต่อ MySQL Server
$_CONFIG['mysql']['dbuser'] = 'root';
// Password ที่ใช้เชื่อมต่อ MySQL Server
$_CONFIG['mysql']['dbpw'] = '***';
// ชื่อฐานข้อมูลที่เราจะเติม Point ให้
$_CONFIG['mysql']['dbname'] = 'altislife';
// ชื่อตารางที่เราจะเติม Point ให้ ตัวอย่าง : member
$_CONFIG['mysql']['tbname'] = 'players';
// ชื่อ field ที่ใช้อ้าง Username
$_CONFIG['mysql']['field_username'] = 'playerid';
// ชื่อ field ที่ใช้ในการเก็บ Point จากการเติมเงิน
$_CONFIG['TMN']['point_field_name'] = 'bankacc';
$_CONFIG['TMN']['datevip_field_name'] = 'expireDate';
/* MySQL Config | End */
// ------------------------------------------------------------------------------------------------
// ------------------------------------------------------------------------------------------------
/* จำนวน Point ที่จะได้รับเมื่อเติมเงินในราคาต่างๆ | Begin */
$_CONFIG['TMN'][50]['point'] = 500; // Point ที่ได้รับเมื่อเติมเงินราคา 50 บาท
$_CONFIG['TMN'][90]['point'] = 900; // Point ที่ได้รับเมื่อเติมเงินราคา 90 บาท
$_CONFIG['TMN'][150]['point'] = 1500; // Point ที่ได้รับเมื่อเติมเงินราคา 150 บาท
$_CONFIG['TMN'][300]['point'] = 3000; // Point ที่ได้รับเมื่อเติมเงินราคา 300 บาท
$_CONFIG['TMN'][500]['point'] = 5000; // Point ที่ได้รับเมื่อเติมเงินราคา 500 บาท
$_CONFIG['TMN'][1000]['point'] = 10000; // Point ที่ได้รับเมื่อเติมเงินราคา 1,000 บาท
/* จำนวน Point ที่จะได้รับเมื่อเติมเงินในราคาต่างๆ | End */
/* จำนวน Point ที่จะได้รับเมื่อเติมเงินในราคาต่างๆ | Begin */
$_CONFIG['TMN'][50]['date'] = 3; // Point ที่ได้รับเมื่อเติมเงินราคา 50 บาท
$_CONFIG['TMN'][90]['date'] = 7; // Point ที่ได้รับเมื่อเติมเงินราคา 90 บาท
$_CONFIG['TMN'][150]['date'] = 15; // Point ที่ได้รับเมื่อเติมเงินราคา 150 บาท
$_CONFIG['TMN'][300]['date'] = 30; // Point ที่ได้รับเมื่อเติมเงินราคา 300 บาท
$_CONFIG['TMN'][500]['date'] = 60; // Point ที่ได้รับเมื่อเติมเงินราคา 500 บาท
$_CONFIG['TMN'][1000]['date'] = 120; // Point ที่ได้รับเมื่อเติมเงินราคา 1,000 บาท
/* จำนวน Point ที่จะได้รับเมื่อเติมเงินในราคาต่างๆ | End */
// ------------------------------------------------------------------------------------------------
// กำหนด API Passkey
define('API_PASSKEY', 'ใส่ API passkey ที่ช่องนี้เท่านั้น');
# -------------------------------------- Config End -------------------------------------- #
require_once('AES.php');
// ------------------------------------------------------------------------------------------------
/* เชื่อมต่อฐานข้อมูล | Begin */
mysql_connect($_CONFIG['mysql']['dbhost'],$_CONFIG['mysql']['dbuser'],$_CONFIG['mysql']['dbpw']) or die('ERROR|DB_CONN_ERROR|' . mysql_error());
mysql_select_db($_CONFIG['mysql']['dbname']) or die('ERROR|DB_SEL_ERROR|' . mysql_error());
/* เชื่อมต่อฐานข้อมูล | End */
// ------------------------------------------------------------------------------------------------
if($_SERVER['REMOTE_ADDR'] == '203.146.127.115' && isset($_GET['request']))
{
$aes = new Crypt_AES();
$aes->setKey(API_PASSKEY);
$_GET['request'] = base64_decode(strtr($_GET['request'], '-_,', '+/='));
$_GET['request'] = $aes->decrypt($_GET['request']);
if($_GET['request'] != false)
{
parse_str($_GET['request'],$request);
$request['Ref1'] = base64_decode($request['Ref1']);
/* Database connection | Begin */
$result = mysql_query('SELECT * FROM `'. $_CONFIG['mysql']['tbname'] .'` WHERE `'. $_CONFIG['mysql']['field_username'] .'`=\'' . mysql_real_escape_string($request['Ref1']) . '\' LIMIT 1') or die(mysql_error());
if(mysql_num_rows($result) == 1)
{
$row = mysql_fetch_assoc($result);
if(mysql_query(
"UPDATE `".
$_CONFIG['mysql']['tbname'] ."` SET `".
$_CONFIG['TMN']['point_field_name'] ."` = `".
$_CONFIG['TMN']['point_field_name'] ."`+'".
$_CONFIG['TMN']['datevip_field_name'] ."` = `".
$_CONFIG['TMN']['datevip_field_name'] ."`+'".
$_CONFIG['TMN'][$request['cardcard_amount']]['point']['date'] ."' WHERE `".
$_CONFIG['mysql']['field_username'] ."` = '".
$row[$_CONFIG['mysql']['field_username']] ."' LIMIT 1 "
) == false
)
{
echo 'ERROR|MYSQL_UDT_ERROR|' . mysql_error();
}
else
{
echo 'SUCCEED|UID=' . $row[$_CONFIG['mysql']['field_username']];
}
}
else
{
echo 'ERROR|INCORRECT_USERNAME';
}
/* Database connection | End */
}
else
{
echo 'ERROR|INVALID_PASSKEY';
}
}
else
{
echo 'ERROR|ACCESS_DENIED';
}
?>
|
ประวัติการแก้ไข 2016-02-02 17:23:41
|
|
|
|
Date :
2016-02-02 17:23:12 |
By :
siamza080 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เพิ่ม config
Code (PHP)
$_CONFIG['TMN'][50]['VIP'] = 5; // วันที่ได้รับเมื่อเติมเงินราคา 50 บาท
Code (PHP)
if(mysql_query("UPDATE `". $_CONFIG['mysql']['tbname'] ."` SET `". $_CONFIG['TMN']['point_field_name'] ."` = `". $_CONFIG['TMN']['point_field_name'] ."`+'". $_CONFIG['TMN'][$request['cardcard_amount']]['point'] ."', date_expire = date_expire + $_CONFIG['TMN'][$request['cardcard_amount']]['VIP'] WHERE `". $_CONFIG['mysql']['field_username'] ."` = '". $row[$_CONFIG['mysql']['field_username']] ."' LIMIT 1 ") == false)
{
ก็ประมาณนี้
|
|
|
|
|
Date :
2016-02-02 17:24:27 |
By :
progamer2000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
งั้นต้องใช้ ฟังชั่น date_add บวกเพิ่ม
|
|
|
|
|
Date :
2016-02-02 17:30:44 |
By :
progamer2000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
date_add ไงคับ ไปเสิชดูว่ามันใช้ยังไง - -
|
|
|
|
|
Date :
2016-02-02 17:41:56 |
By :
progamer2000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
$date = date("Y-m-d")
Code (PHP)
if(mysql_query(
"UPDATE `".
$_CONFIG['mysql']['tbname'] ."` SET `".
$_CONFIG['TMN']['point_field_name'] ."` = `".
$_CONFIG['TMN']['point_field_name'] ."`+'".
$_CONFIG['TMN'][$request['cardcard_amount']]['point'] ."', date_expire = date_expire + DATE_ADD($date, INTERVAL $_CONFIG['TMN'][$request['cardcard_amount']]['VIP'] DAY) WHERE `".
$_CONFIG['mysql']['field_username'] ."` = '". $row[$_CONFIG['mysql']['field_username']] ."' LIMIT 1 ") == false)
แบบนี้จะได้ไหมครับ
|
|
|
|
|
Date :
2016-02-02 17:52:03 |
By :
siamza080 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
date_expire = date_expire + DATE_ADD($date, INTERVAL $_CONFIG['TMN'][$request['cardcard_amount']]['VIP'] DAY)
ไม่ได้
ต้อง
Code (PHP)
date_expire = DATE_ADD($date, INTERVAL $_CONFIG['TMN'][$request['cardcard_amount']]['VIP'] DAY)
แต่มันจะมีกรณี เป็น vip อยู่ มันต้องเช็คเงื่อนไขก่อน ด้วย คือยังไงก็ต้องเขียนเป็นอะ ไม่งั้นก็แก้เองไม่ได้
แนวทางคือ
1. เช็คก่อนว่าสมาชิกคนนี้เป็น vip อยู่เปล่า
ถ้าเป็น ให้เอา
Code (PHP)
date_expire = DATE_ADD(date_expire , INTERVAL $_CONFIG['TMN'][$request['cardcard_amount']]['VIP'] DAY)
ถ้าไม่เป็น
Code (PHP)
date_expire = DATE_ADD($date, INTERVAL $_CONFIG['TMN'][$request['cardcard_amount']]['VIP'] DAY)
|
|
|
|
|
Date :
2016-02-02 17:59:15 |
By :
progamer2000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมมีโค้ดไว้เช็คvipประมานนี้อะครับ
Code (PHP)
BEGIN
UPDATE players SET `donatorlvl` = 1 WHERE expireDate < NOW();
END
โค้ดเติมเงิน อยากให้มันเพิ่มจำนวนวันไป จากวันที่ปัจจุบันน
ลองแก้ตามแล้ว ช่วยตรวจโค้ดให้หน่อยครับผม // ขอบคุณครับบบบ
Code (PHP)
<?php
/* API Connection TMTopup for Dadteam.Com*/
/*
* Modify by Nst Interactive [http://www.nstinteractive.com/]
*/
# ------------------------------------- Config Begin ------------------------------------- #
// ------------------------------------------------------------------------------------------------
/* MySQL Config | Begin */
// Hostname ของ MySQL Server
$_CONFIG['mysql']['dbhost'] = 'localhost';
// Username ที่ใช้เชื่อมต่อ MySQL Server
$_CONFIG['mysql']['dbuser'] = 'root';
// Password ที่ใช้เชื่อมต่อ MySQL Server
$_CONFIG['mysql']['dbpw'] = '';
// ชื่อฐานข้อมูลที่เราจะเติม Point ให้
$_CONFIG['mysql']['dbname'] = '';
// ชื่อตารางที่เราจะเติม Point ให้ ตัวอย่าง : member
$_CONFIG['mysql']['tbname'] = 'players';
// ชื่อ field ที่ใช้อ้าง Username
$_CONFIG['mysql']['field_username'] = 'playerid';
// ชื่อ field ที่ใช้ในการเก็บ Point จากการเติมเงิน
$_CONFIG['TMN']['point_field_name'] = 'bankacc';
/* MySQL Config | End */
$date = date("Y-m-d")
// ------------------------------------------------------------------------------------------------
// ------------------------------------------------------------------------------------------------
/* จำนวน Point ที่จะได้รับเมื่อเติมเงินในราคาต่างๆ | Begin */
$_CONFIG['TMN'][50]['point'] = 500000; // Point ที่ได้รับเมื่อเติมเงินราคา 50 บาท
$_CONFIG['TMN'][90]['point'] = 900000; // Point ที่ได้รับเมื่อเติมเงินราคา 90 บาท
$_CONFIG['TMN'][150]['point'] = 1500000; // Point ที่ได้รับเมื่อเติมเงินราคา 150 บาท
$_CONFIG['TMN'][300]['point'] = 3000000; // Point ที่ได้รับเมื่อเติมเงินราคา 300 บาท
$_CONFIG['TMN'][500]['point'] = 5000000; // Point ที่ได้รับเมื่อเติมเงินราคา 500 บาท
$_CONFIG['TMN'][1000]['point'] = 10000000; // Point ที่ได้รับเมื่อเติมเงินราคา 1,000 บาท
$_CONFIG['TMN'][50]['VIP'] = 3;
$_CONFIG['TMN'][90]['VIP'] = 7;
$_CONFIG['TMN'][150]['VIP'] = 15;
$_CONFIG['TMN'][300]['VIP'] = 30;
$_CONFIG['TMN'][500]['VIP'] = 60;
$_CONFIG['TMN'][1000]['VIP'] = 120;
/* จำนวน Point ที่จะได้รับเมื่อเติมเงินในราคาต่างๆ | End */
// ------------------------------------------------------------------------------------------------
// กำหนด API Passkey
define('API_PASSKEY', '');
# -------------------------------------- Config End -------------------------------------- #
require_once('AES.php');
// ------------------------------------------------------------------------------------------------
/* เชื่อมต่อฐานข้อมูล | Begin */
mysql_connect($_CONFIG['mysql']['dbhost'],$_CONFIG['mysql']['dbuser'],$_CONFIG['mysql']['dbpw']) or die('ERROR|DB_CONN_ERROR|' . mysql_error());
mysql_select_db($_CONFIG['mysql']['dbname']) or die('ERROR|DB_SEL_ERROR|' . mysql_error());
/* เชื่อมต่อฐานข้อมูล | End */
// ------------------------------------------------------------------------------------------------
if($_SERVER['REMOTE_ADDR'] == '203.146.127.115' && isset($_GET['request']))
{
$aes = new Crypt_AES();
$aes->setKey(API_PASSKEY);
$_GET['request'] = base64_decode(strtr($_GET['request'], '-_,', '+/='));
$_GET['request'] = $aes->decrypt($_GET['request']);
if($_GET['request'] != false)
{
parse_str($_GET['request'],$request);
$request['Ref2'] = base64_decode($request['Ref2']);
/* Database connection | Begin */
$result = mysql_query('SELECT * FROM `'. $_CONFIG['mysql']['tbname'] .'` WHERE `'. $_CONFIG['mysql']['field_username'] .'`=\'' . mysql_real_escape_string($request['Ref2']) . '\' LIMIT 1') or die(mysql_error());
if(mysql_num_rows($result) == 1)
{
$row = mysql_fetch_assoc($result);
if(mysql_query("UPDATE `". $_CONFIG['mysql']['tbname'] ."` SET `". $_CONFIG['TMN']['point_field_name'] ."` = `". $_CONFIG['TMN']['point_field_name'] ."`+'". $_CONFIG['TMN'][$request['cardcard_amount']]['point'] ."' WHERE `". $_CONFIG['mysql']['field_username'] ."` = '". $row[$_CONFIG['mysql']['field_username']] ."' LIMIT 1 ") == false)
if(mysql_query("UPDATE `".
$_CONFIG['mysql']['tbname'] ."` SET `".
$_CONFIG['TMN']['point_field_name'] ."` = `".
$_CONFIG['TMN']['point_field_name'] ."`+'".
$_CONFIG['TMN'][$request['cardcard_amount']]['point'] ."', expireDate = DATE_ADD($date, INTERVAL $_CONFIG['TMN'][$request['cardcard_amount']]['VIP'] DAY) WHERE `".
$_CONFIG['mysql']['field_username'] ."` = '". $row[$_CONFIG['mysql']['field_username']] ."' LIMIT 1 ") == false)
{
echo 'ERROR|MYSQL_UDT_ERROR|' . mysql_error();
}
else
{
echo 'SUCCEED|UID=' . $row[$_CONFIG['mysql']['field_username']];
}
}
else
{
echo 'ERROR|INCORRECT_USERNAME';
}
/* Database connection | End */
}
else
{
echo 'ERROR|INVALID_PASSKEY';
}
}
else
{
echo 'ERROR|ACCESS_DENIED';
}
?>
มีข้อสงสัยครับผม
expireDate = DATE_ADD($date, INTERVAL $_CONFIG['TMN'][$request['cardcard_amount']]['VIP'] DAY)
ตรงDAY ถ้าผมใส่เป็น 120 วัน มันจะเปลี่ยนเดือนให้หรือเปล่าครับ
|
|
|
|
|
Date :
2016-02-02 18:13:56 |
By :
siamza080 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
<?php
header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
require_once('AES.php');
// กำหนด API Passkey
define('API_PASSKEY', 'yourid');
print_r($_GET['request']);
if($_SERVER['REMOTE_ADDR'] == '203.146.127.115' && isset($_GET['request']))
{
$aes = new Crypt_AES();
$aes->setKey(API_PASSKEY);
$_GET['request'] = base64_decode(strtr($_GET['request'], '-_,', '+/='));
$_GET['request'] = $aes->decrypt($_GET['request']);
if($_GET['request'] != false)
{
parse_str($_GET['request'],$request);
$request['Ref1'] = base64_decode($request['Ref1']);
$request['Ref2'] = base64_decode($request['Ref2']);
$strAmount = intval($request['cardcard_amount']);
}
else
{
echo 'ERROR|INVALID_PASSKEY';
}
}
else
{
echo 'ERROR|ACCESS_DENIED';
}
?>
จาก Code นี้จะเห็นว่า
Code
parse_str($_GET['request'],$request);
$request['Ref1'] = base64_decode($request['Ref1']);
$request['Ref2'] = base64_decode($request['Ref2']);
$strAmount = intval($request['cardcard_amount']);
$request['Ref1'] คือค่าตัวแปรที่เราส่งไปกับ Form
$request['Ref2'] คือค่าตัวแปรที่เราส่งไปกับ Form
$request['cardcard_amount'] คือ ยอดเงินที่ TM ส่งกลับ
ได้ค่าดังนี้ก็สามารถนำไปเป็นเงื่อนไขได้แล้ว
|
|
|
|
|
Date :
2016-02-03 09:25:23 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อยากจะสอบถามตรง
Code (PHP)
if(mysql_query("UPDATE `".
090.
$_CONFIG['mysql']['tbname'] ."` SET `".
091.
$_CONFIG['TMN']['point_field_name'] ."` = `".
092.
$_CONFIG['TMN']['point_field_name'] ."`+'".
093.
$_CONFIG['TMN'][$request['cardcard_amount']]['point'] ."', expireDate = DATE_ADD($date, INTERVAL $_CONFIG['TMN'][$request['cardcard_amount']]['VIP'] DAY) WHERE `".
094.
$_CONFIG['mysql']['field_username'] ."` = '". $row[$_CONFIG['mysql']['field_username']] ."' LIMIT 1 ") == false)
095.
{
expireDate = DATE_ADD($date, INTERVAL $_CONFIG['TMN'][$request['cardcard_amount']]['VIP'] DAY) WHERE `".
ตรงนี้ข้อมูลจะบันทึกลงดาต้าเบส Field ที่มีชื่อว่า expireDate ใช่หรือไม่ครับ
แล้วก็ ตรงDAY ถ้าผมใส่เป็น 120 วัน มันจะเปลี่ยนเดือนให้หรือเปล่าครับ
|
ประวัติการแก้ไข 2016-02-04 05:21:56
|
|
|
|
Date :
2016-02-04 05:21:13 |
By :
siamza080 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|