|
Поиск по id и выдача бонуса
#38100810
Ссылка:
Ссылка на сообщение:
Ссылка с названием темы:
|
|
|
|
Здраствуйте. Я в етом деле новичек.
Прошу помощи знающих людей.
Что не так работает здесь?
Ощибки не выдает вообще никогда у меня. просто не работает и все.
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233. 234. 235. 236. 237. 238. 239. 240. 241. 242.
<?php
////////////////////////////////////////////////////////////////
// Z-PAYMENT, система приема и обработки платежей //
// All rights reserved © 2002-2007, TRANSACTOR LLC //
////////////////////////////////////////////////////////////////
//Скрипт обрабатывающий запросы Z-PAYMENT
//Устанавливаем метод приема данных
$IdShopZP;
$NumberOrder;
$SecretKeyZP;
$AmountOrder;
$name;
$itemid = 4356;
$nick;
$email;
if($ResultMethod=='POST') $HTTP = $HTTP_POST_VARS;
else $HTTP = $HTTP_GET_VARS;
//Преобразуем массив в переменные
foreach ($HTTP as $Key=>$Value) { $$Key = $Value; }
/* Соединяемся с базой данных */
$hostname = "sql.blablabla.com"; // название/путь сервера, с MySQL
$username = "user1"; // имя пользователя (в Denwer`е по умолчанию "root")
$password = "userpas1"; // пароль пользователя (в Denwer`е по умолчанию пароль отсутствует, этот параметр можно оставить пустым)
$dbName = "mydb"; // название базы данных
$hostname2 = "12.109.110.115"; // название/путь сервера, с MySQL
$username2 = "user2"; // имя пользователя (в Denwer`е по умолчанию "root")
$password2 = "userpas2"; // пароль пользователя (в Denwer`е по умолчанию пароль отсутствует, этот параметр можно оставить пустым)
$dbName2 = "l2game"; // название базы данных
/* Таблица MySQL, в которой будут храниться данные */
$table = "mydonate";
$table2 = "payset";
$table3 = "mydonatelog";
/* Создаем соединение */
$connec = mysql_connect($hostname, $username, $password) or die ("Не могу создать соединение");
/* Выбираем базу данных. Если произойдет ошибка - вывести ее */
mysql_select_db($dbName, $connec) or die (mysql_error());
/* Составляем запрос для извлечения данных из полей "name", "email", "theme",
"message", "data" таблицы "test_table" */
$query = "SELECT * FROM $table";
/* Выполняем запрос. Если произойдет ошибка - вывести ее. */
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_assoc($result))// берем результаты из каждой строки
{$id1 = ''.$row['id'].'';
$NumberOrder=''.$row['numberorder'].'';
$AmountOrder = ''.$row['countgold'].'';// выводим данные
$nick = ''.$row['playername'].'';
$email = ''.$row['nmail'].'';
}
$query = "SELECT * FROM $table2";
$result = mysql_query($query) or die(mysql_error());
while($row=mysql_fetch_assoc($result))// берем результаты из каждой строки
{ $id2=''.$row['id'].'';
$NumberOrder=''.$row['numberorder'].'';
$IdShopZP=''.$row['idshopzp'].'';// выводим данные
$SecretKeyZP=''.$row['secretkeyzp'].'';
}
//Проверяем номер магазина
if($LMI_PAYEE_PURSE!=$IdShopZP) {
die("ERR: Id магазина не соответсвует настройкам сайта!");
}
//Проверяем номер заказа
if($LMI_PAYMENT_NO!=$NumberOrder) {
die("ERR: Номер счета не соответсвует заказу!");
}
//Настоятельно рекомендуем сверять сумму оплаты с суммой вашего заказа из БД
/*$RealAmountOrder = GetAmountOrder($LMI_PAYMENT_NO);
if($RealAmountOrder!=$LMI_PAYMENT_AMOUNT) {
die("ERR: Сумма оплаты не соответсвует сумме заказа!");
}*/
//Предварительный запрос на проведение платежа?
if($LMI_PREREQUEST==1) {
// Если в настройках магазина https://z-payment.ru/shops.php
// Задана опция "Отправлять предварительный запрос перед оплатой на Result URL"
// Перед оплатой этот скрипт будет получать запрос на разрешение оплаты, если платеж прошел
// проверку требуется вернуть YES, любое другое сообщение будет принято системой как запрет
// оплачивать счет
// В этом месте вы можете проверить наличие товара, курсы валют и другую информацию о заказе
// зарезервировать товар на складе, перед тем как разрешите покупателю совершить оплату.
// Здесь же можно изменить статус заказа на "Ожидает оплаты"
// Не забывайте проверить статус заказа на предмет ОТМЕНЫ или ОПЛАТЫ
// $CLIENT_MAIL - емаил покупателя
// $LMI_PAYER_WM - кошелек покупателя или его емаил
// $LMI_MODE = 0 - рабочий режим
// $DESC_PAY - Описание товара
// $USER_VALUE1, $USER_VALUE2, ... Остальные переменные переданные продавцом
// в форме запроса платежа
//Разрешаем оплату
echo 'YES';
} else { //Уведомление об оплате
// Если Result URL обеспечивает безопасное соединение SSL и выставлена
// настройка "Отправлять ключ магазина, если Result URL обеспечивает безопасность"
// сверяем ключи, этого достаточно при условии, что вы задали
if(isset($LMI_SECRET_KEY)) {
// Если ключ совпадает, занчит все ОК, проводим заказ
if($LMI_SECRET_KEY==$SecretKeyZP) {
//Подтверждение оплаты заказа
$Result = ConfirmOrder($LMI_PAYMENT_NO);
//Все прошло успешно
if($Result) echo 'YES';
} else {
//Отмена заказа
CancelOrder($LMI_PAYMENT_NO);
}
} else {
// Ключ не был передан, требуется проверить контрольный хеш запроса
//Расчет контрольного хеша из полученных переменных и Ключа мерчанта
$CalcHash = md5($LMI_PAYEE_PURSE.$LMI_PAYMENT_AMOUNT.$LMI_PAYMENT_NO.$LMI_MODE.$LMI_SYS_INVS_NO.$LMI_SYS_TRANS_NO.$LMI_SYS_TRANS_DATE.$SecretKeyZP.$LMI_PAYER_PURSE.$LMI_PAYER_WM);
//Сравниваем значение расчетного хеша с полученным
if($LMI_HASH == strtoupper($CalcHash)) {
//Подтверждение оплаты заказа
$Result = ConfirmOrder($LMI_PAYMENT_NO);
//Все прошло успешно
if($Result) echo 'YES';
} else {
//Отмена заказа
CancelOrder($LMI_PAYMENT_NO);
}
}
}
// Функция получает сумму заказа из базы данных магазина по номеру счета,
// В этой же функции можно проверить наличие заказа с запрашиваемым ID
// здесь символически возвращает цену заказа из настроек config_zp.php
function GetAmountOrder($NumberOrder){
global $AmountOrder;
// Запрос к БД даных заказов
return $AmountOrder;
}
// Функция успешного проведения оплаты
// Конкретное наполнении функции зависит от бизнес логики вашего сайта.
//
/// ***********************************
/* Закрываем соединение */
$connec2 = mysql_connect($hostname2, $username2, $password2) or die ("Не могу создать соединение");
/* Выбираем базу данных. Если произойдет ошибка - вывести ее */
mysql_select_db($dbName2, $connec2) or die (mysql_error());
$query = "SELECT * FROM `characters` WHERE `char_name`='".$_GET["obj_Id"]."'";
$result = mysql_query($query,$connec2) or die("Ошибка mysql : ".mysql_error());
$row = mysql_fetch_assoc($result);
$name = $row['obj_Id'];
//$connec = mysql_connect($hostname2, $username2, $password2) or die ("Не могу создать соединение");
/* Выбираем базу данных. Если произойдет ошибка - вывести ее */
//mysql_select_db($dbName2, $connec) or die (mysql_error());
$query = "SELECT * FROM $table WHERE `NumberOrder`='{$NumberOrder}' AND `countgold`='{$AmountOrder}'";
if (NumRows($query) == 1)
{
$data = FetchArray($query);
$query = "SELECT `count` FROM `items` WHERE `owner_id`='{$name}' AND `item_id`='{$itemid}' AND `loc`='INVENTORY'";
$item_count = mysql_query($query,$connec);
if (NumRows($item_count) > 0)
$query = "UPDATE `items` SET `count`=`count`+{$AmountOrder} WHERE `owner_id`='{$name}' AND item_id='{$itemid}' AND `loc`='INVENTORY'";
mysql_query($query,$connec);
else
{
$query = "SELECT MAX(object_id)+1 FROM items";
$obj = (mysql_query($query,$connec), 0);
$query = "INSERT INTO `items` SET `owner_id`='{$name}',`object_id`='{$obj}',`count`='{$AmountOrder}',`item_id`='{$itemid}',`enchant_level`='0',`loc`='INVENTORY',`loc_data`='0'";
mysql_query($query,$connec);
}
//
/* Определяем текущую дату */
$cdate = date("Y-m-d");
$query = "INSERT INTO `mydonatelog` SET `numberorder`='{$NumberOrder}',`countgold`='{$AmountOrder}',`playername`='{$nick}',`email`='{$email}',`data`='{$cdate}'";
mysql_query($query, $connec2);
/* Закрываем соединение */
mysql_close($connec2);
//
/* Создаем соединение */
//$connec = mysql_connect($hostname, $username, $password) or die ("Не могу создать соединение");
/* Выбираем базу данных. Если произойдет ошибка - вывести ее */
//mysql_select_db($dbName, $connec) or die (mysql_error());
/* Составляем запрос*/
$query = "UPDATE $table2 SET `numberorder`=`numberorder`+1";
/* Выполняем запрос. Если произойдет ошибка - вывести ее. */
mysql_query($query, $connec);
/* Составляем запрос*/
$query = "delete from $table where (`numberorder`='$NumberOrder')";
/* Выполняем запрос. Если произойдет ошибка - вывести ее. */
mysql_query($query, $connec);
}
else
$user->show"Error: order does not exist! Order: " . $id;
///
function ConfirmOrder($NumberOrder) {
// Здесь необходимо выполнить все действия по обновлению статуса заказа,
// уведомлению клиента, отгрузке товара и пр. действия после получения оплаты заказа
return true;
}
// Функция отмены заказа
// Конкретное наполнении функции зависит от бизнес логики вашего сайта.
function CancelOrder($NumberOrder) {
// Здесь необходимо выполнить все действия по отмене заказа
return true;
}
/* Закрываем соединение */
mysql_close($connec2);
?>
|
|
|