View Full Version : Ý tưởng mới về web 0.8 cần pro php giúp đỡ
uh_danchoi
28-04-09, 03:09 PM
Em muốn phát triền web 0.8 . Em có 1 ý tưởng là mình mở thêm 1 trang Reset VIP, sử dụng tiền mặt để rset ( khoảng 500 đ 1 lần chẳng hạn ). Ở phần reset VIP này, yêu cầu về level thấp hơn, yêu cầu về các vật dụng reset thấp hơn và số point stre,agi,vit,ene cao hơn. Em đã nghĩ vậy và bắt tay vào làm, nhưng mà gặp rất nhiều khó khăn. Em đã copy file Character.class.php ra thành charactervip.class.php và character_manager.php thành charactervip_manager.php ( 2 file này trong Include ). Copy file character.php ( trong module/user ) và đặt tên file copy là resetvip. Điều chỉnh các thông số của 3 file mới này rồi change những chỗ có chứa tên 2 file character.class.php và character_manager.php. Nó hoạt động khá tốt, nghĩa là mục reset VIP đã được tách ra và khi ấn vào mục reset vip, đã theo ý mình muốn. Nhưng vấn đề ở chỗ, kích vào reset, nó lại trở về reset thường. Nghĩa là số stre,agi... vẫn thế, đã xem lại 3 file mới tạo ra nhưng không còn thiếu sót chỗ nào. Khi thay đổi file cũ ( Character.class.php và character_manager.php thành 1 tên khác )thì vào mục Reset VIP, vẫn hiện như bt, nhưng mà ấn vào reset hay cộng điểm thì hiện lỗi thiếu file Character.class.php và character_manager.php . Nghiên cứu kĩ thì thấy trong web/Module/user.php có 1 hàm :
<tr> <td><div align="center">
<? if(!isset($_GET['option'])){include("modules/user/characters.php"); } else{user_modules();} ?>
</div></td> </tr>
Nếu thay hàm trên chỗ user/character.php thành user/resetvip.php thì mục reset VIP sẽ hoạt động rất tốt, nhưng mà bù lại, reset thường cũng thành reset VIP, mà để đúng hàm của nó thì reset VIP lại thành reset thường. 1 Vấn đề nữa em chưa nghiên cứu được là làm thế nào để khi reset VIP thành công thì số tiền mặt nạp vào sẽ trừ đi 500 ?? Đã thử làm giống hàm của web_shop là lấy $money = $bank_money - 500; nhưng không thành công bởi vì em không biết là cần truy vấn file nào để có thể chạy được câu lệnh ấy ! Qua đây mong pro nào biết về php cứu giúp em phát này, cũng như giúp mọi người der web 0.8
:D
thanhjxaun
28-04-09, 07:44 PM
Lại thêm 1 kiểu moi tiền của gamer nữa. Mu muôn hình muôn vạn, biến đổi khôn lường :))
uh_danchoi
29-04-09, 02:49 PM
Èo, ai lại nói thế, cũng chỉ có ý tưởng là vậy dành cho ai kiếm tiền chứ, tui thì chính là muốn mở server VIP, reset VIP theo ngày,ví dụ như ngày lễ tết thì hỗ trợ những account có rs > 100 lần có thể reset VIP chẳng hạn :D
Destruct
29-04-09, 04:24 PM
Đi cùng câu lệnh trên đã là truy xuất được đến các Tables cho Module Reset rồi, tìm row thích hợp và trừ đi thôi!
uh_danchoi
02-05-09, 04:21 PM
Ý, chủ yếu là xem row ở đâu ạ, ??
ghvn121991
02-05-09, 04:57 PM
Thực sự cái này ko khó, không những làm được như thế mà còn có thể nạp tiền Reset theo tiếng hoặc theo tháng,...Nói chung hoàn toàn có thể làm được.
Ví dụ như web0.8 của tôi đang dùng thì chia ra làm 3 phần : Phần một là Rs thường, phần 2 là Reset VIP, và thứ 3 là Super VIP ( Đóng tiền một lần sử dụng tất cả các chức năng )
Giờ tôi giới thiệu qua cách làm phần 2 nhé ( Reset VIP ) :
- Trước tiên phải làm một trang php chứa form nạp thêm thời gian Reset VIP.
Đây là một đoạn CODE nạp thêm thời gian Reset VIP ( lưu ý là một đoạn thôi nên không thể chạy được ) :
if($login == NULL){echo "<script>alert(' Bạn phải đăng nháºp má»›i có thể truy cáºp!');</script>";}
else
{
$query = "SELECT time_exp from MEMB_INFO where memb___id='$login'";
$result = $db->Execute($query);
$row = $result->fetchrow();
$check = $row[0] - time();
if ($check > 0)
{$show_time = round($check/3600);}
elseif ($check <= 0)
{$show_time = "Äã hết";}
if (isset($_POST['napvip']))
{
$number = stripslashes($_POST['number']);
$login = $_SESSION['user'];
$check = $row[0] - time();
if ((eregi("[^0-9_-]", $number)))
{
echo("SQL Injection Detected");
exit();
}
if (empty ($number))
{echo "<script>alert('Bạn phải Ä‘iá»n đầy đủ thông tin.');</script>";}
elseif ($muweb['member_vnd'] < $number)
{echo "<script>alert('Bạn không đủ tiá»n VND.');</script>";}
else if ($number < 1000)
{echo "<script>alert('Má»—i lần nạp Ãt nhất phải là 1.000 VND');</script>";}
else {
if ($check <= 0)
{$timeadd = time() + 12.096*$number;}
elseif ($check > 0)
{$timeadd = time() + 12.096*$number + $check;}
$vnd_change = $muweb['member_vnd'] - $number;
$db->Execute("UPDATE MEMB_INFO SET [money_vnd]='$vnd_change',[time_exp]='$timeadd' WHERE memb___id='$login'");
$db->Execute("BACKUP DATABASE [MuOnline] TO DISK = N'D:\MuServer\DBBAK\MuOnline.bak' WITH INIT , NOUNLOAD , NAME = N'MuOnline backup', NOSKIP , STATS = 10, NOFORMAT");
{echo "<script>alert('Bạn đã nạp thêm thá»i gian sá» dụng VIP thà nh công');</script>";}
}
}
Như trang web của tôi thì sẽ phân ra làm 2 trang : index.php?op=user -> sẽ vào trang để Reset thường. index.php?op=uservip -> sẽ vào trang của VIP
Và ở file uservip.php tôi add thêm một đoạn mã để check thời gian VIP còn hay không, nếu còn sẽ đưa ra thông báo hết thời gian và không thể tiếp tục :
$query = "SELECT time_exp,time_exp_svip,time_ungtien,ungtien from MEMB_INFO where memb___id='$account_id'";
$result = $db->Execute($query);
$row = $result->fetchrow();
$check_time = $row[0] - time();
$check_time1 = $row[1] - time();
$check_time2 = $row[2] - time();
$time_now = time();
$db->Execute("UPDATE MEMB_INFO SET [time_now]='$time_now' WHERE memb___id='$account_id'");
if ($check_time1 <= 0){$db->Execute("UPDATE MEMB_INFO SET [vip]='0' WHERE memb___id='$account_id'");}
if ($check_time >= 0 AND $muweb['vip'] != 1){Die ("<img src=\"<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>">Tà i khoản VIP hoặc S-VIP của bạn đã hết hạn xin vui lòng nạp thêm thá»i gian");}
if ($check_time2 <= 0 AND $row[3] != 0){Die ("<img src=\"<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>">Bạn đã ứng tiá»n quá ná»a tháng mà bạn chÆ°a nạp thẻ, hệ thống tá»± chặn truy cáºp của bạn.<br><center>Vui lòng nạp thẻ để hoặc trả nợ để có thể tiếp tục.</center>");}
Demo : <b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b> (User/pass : demo/demo) đã tích hợp tương đối nhiều module không kém phần các website thương mại khác
ghvn121991
02-05-09, 05:00 PM
Nếu bạn muốn Reset kiểu mỗi lần trừ đi một ít tiền hoặc tăng point thì PM : lamphuong_zero tôi hướng dẫn cho, đơn giản lắm.
Powered by vBulletin® Version 4.2.0 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.