PDA

View Full Version : Share Code PHP gửi mail ITEM - Phong Vân



c1102
15-01-16, 02:37 PM
Bước 1: Tạo FORM nhập ID bằng HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "<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>">
<html xmlns="<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>" lang="zh" xml:lang="en">
<head>
<title>Webgame - Phong Vân Vô Song</title>
<meta <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>"Content-Type" content="text/html; charset=utf-8" />
<meta name="description" content="Webgame - Phong Vân Vô Song">
<meta name="keywords" content="Webgame, Phong Vân, Vô Song, H20, Ngũ Đại Thần Thú">
<meta name="author" content=""">
<link href="style.css" rel="stylesheet" type="text/css">
<script src="pv.js"></script>
</head>
<body>
<div>
<form class="form-style-7" method="post" action="" onsubmit="return false;" novalidate="novalidate" enctype="multipart/form-data">
<table>
<tr valign="top">
<td>
<ul>
<li>
<label for="name">Tên Trong Game</label>
<input type="text" name="name" maxlength="100" value="">
<span>Tên trong Game</span>
</li>
<li>
<label for="desc">Nội Dung Thư</label>
<textarea name="desc" onkeyup="adjust_textarea(this)">Bạn nhận được một món quà từ Phong Vân</textarea>
<span>Nội Dung Thư</span>
</li>
<li>
<label for="multi">Gộp Vật Phẩm</label>
<select name="multi" id="multi">
<option value="0" selected>Không</option>
<option value="1">Có</option>
</select>
<span>Bạn Muốn Gộp Vật Phẩm ?</span>
</li>
<li>
<label for="block">Khóa Vật Phẩm</label>
<select name="block" id="block">
<option value="2000" selected>Không</option>
<option value="2001">Có</option>
</select>
<span>Bạn Muốn Gộp Vật Phẩm ?</span>
</li>
<li>
<label for="quality">Số Lượng Vật Phẩm</label>
<input type="text" name="quality" maxlength="3" value="1">
<span>Số Lượng Vật Phẩm</span>
</li>
<li>
<label for="Status"></label>
<span id="Status">Trạng Thái</span>
</li>
</ul>
</td>
<td>
<ul>
<li>
<label for="vp">ID 1</label>
<input type="text" name="vp[]" maxlength="10">
<span>ID Vật phẩm 1</span>
</li>
<li>
<label for="vp">ID 2</label>
<input type="text" name="vp[]" maxlength="10">
<span>ID Vật phẩm 2</span>
</li>
<li>
<label for="vp">ID 3</label>
<input type="text" name="vp[]" maxlength="10">
<span>ID Vật phẩm 3</span>
</li>
<li>
<label for="vp">ID 4</label>
<input type="text" name="vp[]" maxlength="10">
<span>ID Vật phẩm 4</span>
</li>
<li>
<label for="vp">ID 5</label>
<input type="text" name="vp[]" maxlength="10">
<span>ID Vật phẩm 5</span>
</li>
</ul>
</td>
<td>
<ul>
<li>
<label for="vp">ID 6</label>
<input type="text" name="vp[]" maxlength="10">
<span>ID Vật phẩm 6</span>
</li>
<li>
<label for="vp">ID 7</label>
<input type="text" name="vp[]" maxlength="10">
<span>ID Vật phẩm 7</span>
</li>
<li>
<label for="vp">ID 8</label>
<input type="text" name="vp[]" maxlength="10">
<span>ID Vật phẩm 8</span>
</li>
<li>
<label for="vp">ID 9</label>
<input type="text" name="vp[]" maxlength="10">
<span>ID Vật phẩm 9</span>
</li>
<li>
<label for="vp">ID 10</label>
<input type="text" name="vp[]" maxlength="10">
<span>ID Vật phẩm 10</span>
</li>
<li>
<input type="submit" name="Submit" onclick="PostMail(this.form);" value="Gửi Thư" >
</li>
</ul>
</td>
</tr>
</table>
</form>
</div>
</body>
</html>

Bước 2: file style.css

.form-style-7{
max-width:1004px;
margin:50px auto;
background:#fff;
border-radius:2px;
padding:20px;
/*font-family: Georgia, "Times New Roman", Times, serif;*/
}
.form-style-7 h1{
display: block;
text-align: center;
padding: 0;
margin: 0px 0px 20px 0px;
color: #5C5C5C;
font-size:x-large;
}
.form-style-7 ul{
list-style:none;
padding:0;
margin:0;
}
.form-style-7 li{
display: block;
padding: 9px;
border:1px solid #DDDDDD;
margin-bottom: 10px;
border-radius: 3px;
}
.form-style-7 li:last-child{
border:none;
margin-bottom: 0px;
text-align: center;
}
.form-style-7 li > label{
display: block;
float: left;
margin-top: -19px;
background: #FFFFFF;
height: 14px;
padding: 2px 5px 2px 5px;
color: #ff0000;
font-size: 14px;
overflow: hidden;
font-family: Arial, Helvetica, sans-serif;
}
.form-style-7 input[type="text"],
.form-style-7 input[type="date"],
.form-style-7 input[type="datetime"],
.form-style-7 input[type="email"],
.form-style-7 input[type="number"],
.form-style-7 input[type="search"],
.form-style-7 input[type="time"],
.form-style-7 input[type="url"],
.form-style-7 input[type="password"],
.form-style-7 textarea,
.form-style-7 select
{
box-sizing: border-box;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
width: 100%;
display: block;
outline: none;
border: none;
height: 25px;
line-height: 25px;
font-size: 16px;
padding: 0;
font-family: Georgia, "Times New Roman", Times, serif;
}
.form-style-7 input[type="text"]:focus,
.form-style-7 input[type="date"]:focus,
.form-style-7 input[type="datetime"]:focus,
.form-style-7 input[type="email"]:focus,
.form-style-7 input[type="number"]:focus,
.form-style-7 input[type="search"]:focus,
.form-style-7 input[type="time"]:focus,
.form-style-7 input[type="url"]:focus,
.form-style-7 input[type="password"]:focus,
.form-style-7 textarea:focus,
.form-style-7 select:focus
{
}
.form-style-7 li > span{
background: #F3F3F3;
display: block;
padding: 3px;
margin: 0 -9px -9px -9px;
text-align: center;
color: #C0C0C0;
font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
}
.form-style-7 textarea{
resize:none;
}
.form-style-7 input[type="submit"],
.form-style-7 input[type="button"]{
background: #2471FF;
border: none;
padding: 10px 20px 10px 20px;
border-bottom: 3px solid #5994FF;
border-radius: 3px;
color: #D2E2FF;
}
.form-style-7 input[type="submit"]:hover,
.form-style-7 input[type="button"]:hover{
background: #6B9FFF;
color:#fff;
}

Bước 3:file pv.js
function adjust_textarea(h) {
h.style.height = "20px";
h.style.height = (h.scrollHeight)+"px";
}
function PostMail(form) {
var name = form.name.value;
if (!name) {
alert("Bạn chưa nhập tên nhân vật Game");
return false;
}
var desc = form.desc.value;
var quality = form.quality.value;
var vp = new Array;
var arr = form.elements["vp[]"];
for (i = 0; i < arr.length; i++) {
if (arr[i].value > 0) {
vp[i] = arr[i].value;
}
}
vp = JSON.stringify(vp);

var a = document.getElementById("multi");
var multi = a.options[a.selectedIndex].value;
var b = document.getElementById("block");
var block = b.options[b.selectedIndex].value;
if (window.XML<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>) {
xml<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> XML<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>();
} else {
xml<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> ActiveXObject("Microsoft.XMLHTTP");
}
xml<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>() {
if(xml<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> == 1 || xml<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> == "loading") {
document.getElementById("Status").innerHTML="Xin chờ trong giây lát";
}
if (xml<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> && xml<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>) {
document.getElementById("Status").innerHTML=xml<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>
}
}
xml<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>("POST","submit.php",true);
xml<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>("Content-type","application/x-<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>");
xml<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>("name="+name+"&desc="+desc+"&quality="+quality+"&vp="+vp+"&multi="+multi+"&block="+block+"&Submit=1");
}

Bớc 4: file submit.php

<?PHP
//Nhập thông tin CSDL của bạn phía dưới:
$hostname="localhost";
$database="DB_name"; // Tên CSDL
$username="DB-user"; // Tên đăng nhập CSDL
$password="DB_pass"; // Mật khẩu CSDL
//Không sửa nội dung phía dưới
$link = mysql_connect($hostname, $username, $password);
if (!$link) {
die('Lỗi kết nối: ' . mysql_error());
}
$db_selected = mysql_select_db($database, $link);
if (!$db_selected) {
die ('Không thể chọn dữ liệu: ' . mysql_error());
}
function so2($itemID) {
$s2 = 0;
$count = floor($itemID/16);

$count4 = floor($itemID/(16*8));
$count3 = floor($itemID/(16*8*16));


$s2 = dechex($itemID-($count*16));
$s1 = so1($count);
$s4 = so($count4);
$s3 = so($count3);
$out = $s1.$s2.$s3.$s4;
return $out;
}
function so($it) {
$s4 = 0;
$str = 16;
$count = floor($it/$str);
$out = dechex($it-($count*$str));
return $out;
}
function so1($it) {
$s1 = 8;
$str = 16;
if ($it < $s1) {
$it = $it+$s1;
}
$count = floor($it/$str);
$out = dechex($it-($count*$str));
if (is_numeric($out) AND $out < $s1) {
$out = $out+$s1;
if ($out > 9) {
$out = dechex($out);
}
}
return $out;
}
$time = round(microtime(true) * 1000);
if (isset($_POST['Submit'])) {
$submit = $_POST['Submit'];
}
if (isset($_POST['quality'])) {
$quality = $_POST['quality'];
if ($quality <= 15) {
$quality = "0".dechex($quality);
} else {
$quality = dechex($quality);
}
}
if (isset($_POST['multi'])) {
$multiple = $_POST['multi'];
}
if (isset($_POST['desc'])) {
$desc = bin2hex($_POST['desc']);
}
if (isset($_POST['block'])) {
$block = $_POST['block'];
}
if (isset($_POST['name'])) {
$name = $_POST['name'];
mysql_query('SET NAMES "utf8" COLLATE "utf8_general_ci"');
$row = mysql_fetch_assoc(mysql_query("SELECT `combine_id` FROM `users` WHERE `hero_name`='$name'"));
$combine_id = $row['combine_id'];
}
if ($submit AND $combine_id) {
if (isset($_POST['vp'])) {
$array=json_decode($_POST['vp']);
if ($multiple == 1) {
foreach ($array as $value) {
if (is_numeric($value) AND $value > 0) {
$data .= "aa010708".so2($value)."18".$quality.$block;
}
}
mysql_query("INSERT INTO `mail` (`id`, `combine_id`, `content`, `data`, `create_time`) VALUES ('', '$combine_id', ".addslashes('0x'.strtoupper($desc)).", ".addslashes('0x'.strtoupper($data)).", '$time')");
echo "<div style='color: #ff0000'>Bạn đã tặng $name ($combine_id)<br/> ItemID: $value - Số lương: ".$_POST['quality']."<br/></div>";
} else {
foreach ($array as $value) {
if (is_numeric($value) AND $value > 0) {
$data = "aa010708".so2($value)."18".$quality.$block;
mysql_query("INSERT INTO `mail` (`id`, `combine_id`, `content`, `data`, `create_time`) VALUES ('', '$combine_id', ".addslashes('0x'.strtoupper($desc)).", ".addslashes('0x'.strtoupper($data)).", '$time')");
echo "<div style='color: #ff0000'>Bạn đã tặng $name (ID: $combine_id)<br/> ItemID: $value - Số lương: ".$_POST['quality']."<br/></div>";
}
}
}
}
exit();
} else {
if (!$combine_id)
echo "Không tìm thấy ID nhân vật, tên nhân vật không chính xác.";
}
mysql_close($link);
?>

Sau khi gửi bạn cần thoát vào lại game mới có thể nhận thư. Chúc vui

Nếu bạn nào chạy ESSamp mà không gửi được thì tìm đoạn này trong submit.php


$array=json_decode($_POST['vp']);

Sửa lại thành


$vp = ereg_replace("\\\\", "", $_POST['vp']);
$array=json_decode($vp);

Link tải: <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>

BeeZone
15-01-16, 09:57 PM
Game này hết HOT sao ấy không ai quan tâm test xem thế nào ak....Bữa trước thấy quá trời người cần ID item mã hóa mà =))

P/s: KLQ nhưng tui không chơi game này nên không test.....

nghichtu91
15-01-16, 10:00 PM
để ta test thử xem ..............................................

lochungnet
15-01-16, 10:37 PM
sao e thử hem dc, a cho e xin file đã chạy thành công với, bấm send trơ ra, thank ạ

BeeZone
15-01-16, 10:51 PM
sao e thử hem dc, a cho e xin file đã chạy thành công với, bấm send trơ ra, thank ạ


Có file này không :D


<script src="pv.js"></script>

Cái này quan trọng nhất là phần .PHP thôi..Các phần khác tự code đi :))

Hãy viết tên miền đầy đủ của clbgamesvn ? (gợi ý câu trả lời: <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><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>))

lochungnet
15-01-16, 11:00 PM
Có file này không :D



Cái này quan trọng nhất là phần .PHP thôi..Các phần khác tự code đi :))

Hãy viết tên miền đầy đủ của clbgamesvn ? (gợi ý câu trả lời: <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><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>))



copy y xì bên trên ra index.html, pv.js, style.css,submit.php, chạy submit trơ trơ, đã sửa thông tin sql trong submit

c1102
16-01-16, 12:01 AM
Các bạn bấm f12 debug xem có lỗi javascript không nhé, và trên localhost không có hỗ trọ hàm gì của php thì bạn cần mở ra như hàm bin2hex chẳng hạn, code này mình code đang chạy rất ngon ko lỗi lầm gì đâu

c1102
16-01-16, 12:30 AM
Mình nén lại file để cho dễ sử dụng và đã thử ok

<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>

--- Chế độ gộp bài viết ---


sao e thử hem dc, a cho e xin file đã chạy thành công với, bấm send trơ ra, thank ạ

chú ý ở code trên do diễn đàn tự cách chữ bock ra thành bloc k nên javascript bị lỗi nó trơ ra đó bạn

xml<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>("name="+name+"&desc="+desc+"&quality= "+quality+"&vp="+vp+"&multi="+multi+"&block="+bloc k+"&Submit=1");

lochungnet
16-01-16, 01:14 AM
Mình nén lại file để cho dễ sử dụng và đã thử ok

<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>

--- Chế độ gộp bài viết ---



chú ý ở code trên do diễn đàn tự cách chữ bock ra thành bloc k nên javascript bị lỗi nó trơ ra đó bạn

xml<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>("name="+name+"&desc="+desc+"&quality= "+quality+"&vp="+vp+"&multi="+multi+"&block="+bloc k+"&Submit=1");
<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>

c1102
16-01-16, 01:25 AM
<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>
Thank a nhiều

Đã post file ở trên rồi mà bạn

<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>

lochungnet
16-01-16, 01:43 AM
Đã post file ở trên rồi mà bạn

<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>
cảm ơn a nhiều, code nó chạy rồi, điền sai tên nv nó báo sai, nhưng khi điền đúng thì send hem thành công, hix

c1102
16-01-16, 01:50 AM
cảm ơn a nhiều, code nó chạy rồi, điền sai tên nv nó báo sai, nhưng khi điền đúng thì send hem thành công, hix

Bạn chạy ESSamp à ? Bạn cài thử appserver chạy thử xem, ESSamp có thể thiếu một số hàm nên ko hoạt động

Bạn thêm cái này đầu file submit.php để xem nó báo gì


error_reporting(E_ALL);
ini_set('display_errors', 'on');

lochungnet
16-01-16, 01:56 AM
Bạn chạy ESSamp à ? Bạn cài thử appserver chạy thử xem, ESSamp có thể thiếu một số hàm nên ko hoạt động

Bạn thêm cái này đầu file submit.php để xem nó báo gì


error_reporting(E_ALL);
ini_set('display_errors', 'on');

Dạ e xài mỳ ăn liền, ko rành code
báo lỗi:
Warning: Invalid argument supplied for foreach() in D:\FYWS\Web\<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> on line 95

c1102
16-01-16, 02:04 AM
Dạ e xài mỳ ăn liền, ko rành code
báo lỗi:
Warning: Invalid argument supplied for foreach() in D:\FYWS\Web\<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> on line 95

Vậy bạn chờ mình chạy Essamp xem nó thiếu gì sẽ hướng dẫn bạn bổ sung cho nó nhé

c1102
16-01-16, 02:50 AM
Nếu bạn nào chạy ESSamp mà không gửi được thì tìm đoạn này trong submit.php


$array=json_decode($_POST['vp']);

Sửa lại thành


$vp = ereg_replace("\\\\", "", $_POST['vp']);
$array=json_decode($vp);