avatar_DEATHSIDE

Решение проблемы при покупке товаров в веб-магазинах

Автор DEATHSIDE, 2018 Янв. 25, 22:17

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Ключевые слова [SEO] mu onlineexengineвеб-магазин

DEATHSIDE

Ребят ещё раз привет=)
Прошу помощи.

При покупке какой либо вещи происходит вот такая ошибка.

Спойлер
[свернуть]

Облазил все не могу найти..

NexT

Цитата: DEATHSIDE от 2018 Янв. 25, 22:17  Ребят ещё раз привет=)
Прошу помощи.

При покупке какой либо вещи происходит вот такая ошибка.

Спойлер
[свернуть]

Облазил все не могу найти..
Возможно отсутствует колонка или таблица. Тут надо смотреть запросы из скрипта и сравнивать с базой.

DEATHSIDE

Цитата: NexT от 2018 Янв. 26, 20:17  Возможно отсутствует колонка или таблица. Тут надо смотреть запросы из скрипта и сравнивать с базой.

Вроде все имеется..

Спойлер
[свернуть]

Код  ну я думаю ты знаешь свой код=)


<?php

// Магазин
// Автор: NexT

if(!defined('EXEngine')) {
Exit;
}

include_once 
'core/warehouse.php';

LoadShopBase();

?>

<style type="text/css">
ul, li{
padding:0;
list-style:none;
}

#shop_catalog {
width: 450px;
margin:20px auto;
}

.cat_block {
width:184px;
display:block;
float:left;
}

.item_block {
width: 184px;
display: none;
float: right;
padding: 10px;
background: rgba(0,0,0,0.2);
}

.menu_head {
border:1px solid #132F3A;
}

.menu_body {
width:184px;
/*border:1px solid #132F3A;*/
}

#shop_catalog:after {content: "";clear: both;display: table;}

.menu_body li {
/*background:#041117;*/
background: url(templates/images/news_info_bg.png);
}

.menu_body li a{
/*color:#FFFFFF;*/
text-decoration:none;
padding:10px;
display:block;
}

.menu_body li a:hover{
padding:15px 10px;
font-weight:bold;
/*background:#132F3A;*/
background: url(templates/images/news_info_bg.png), url(templates/images/news_info_bg.png);
}

table.cells {
text-shadow: 1px 1px 0px #000000;
}
</style>

<script type="text/javascript">
$(document).ready(function() {
$('#sets').click(function() {
$('#items').show();

for (var i = 0; i <= 9; i++) {
$('#item_' + i).hide();
}

$('#item_0').show();
});

$('#swords').click(function() {
$('#items').show();

for (var i = 0; i <= 9; i++) {
$('#item_' + i).hide();
}

$('#item_1').show();
});

$('#axes').click(function() {
$('#items').show();

for (var i = 0; i <= 9; i++) {
$('#item_' + i).hide();
}

$('#item_2').show();
});

$('#maces').click(function() {
$('#items').show();

for (var i = 0; i <= 9; i++) {
$('#item_' + i).hide();
}

$('#item_3').show();
});

$('#spears').click(function() {
$('#items').show();

for (var i = 0; i <= 9; i++) {
$('#item_' + i).hide();
}

$('#item_4').show();
});

$('#bows').click(function() {
$('#items').show();

for (var i = 0; i <= 9; i++) {
$('#item_' + i).hide();
}

$('#item_5').show();
});

$('#staffs').click(function() {
$('#items').show();

for (var i = 0; i <= 9; i++) {
$('#item_' + i).hide();
}

$('#item_6').show();
});

$('#shields').click(function() {
$('#items').show();

for (var i = 0; i <= 9; i++) {
$('#item_' + i).hide();
}

$('#item_7').show();
});

$('#wings').click(function() {
$('#items').show();

for (var i = 0; i <= 9; i++) {
$('#item_' + i).hide();
}

$('#item_8').show();
});

$('#rings').click(function() {
$('#items').show();

for (var i = 0; i <= 9; i++) {
$('#item_' + i).hide();
}

$('#item_9').show();
});
});
</script>
<h1>Магазин</h1>
<?php

$Selected 
$Web_URL[1];

if (empty(
$Selected)) {

?>


<div id="shop_catalog">
<div id="category" class="cat_block">
<ul class="menu_body">
<li><a href="java script:void(0)" id="sets">Сэты</a></li>
<li><a href="java script:void(0)" id="swords">Мечи</a></li>
<li><a href="java script:void(0)" id="axes">Топоры</a></li>
<li><a href="java script:void(0)" id="maces">Булавы</a></li>
<li><a href="java script:void(0)" id="spears">Копья</a></li>
<li><a href="java script:void(0)" id="bows">Луки</a></li>
<li><a href="java script:void(0)" id="staffs">Посохи</a></li>
<li><a href="java script:void(0)" id="shields">Щиты</a></li>
<li><a href="java script:void(0)" id="wings">Крылья</a></li>
<li><a href="java script:void(0)" id="rings">Бижутерия</a></li>
</ul>
</div>


<div id="items" class="item_block">
<?php

for ($i 0$i 10; ++$i) {
// ---
echo '<ul class="menu_body" id="item_'.$i.'" style="display:none;">';

// ---
foreach($ShopArray as $Line) {
if (
$i == $Line[1]) {
echo 
'<li><a href="shop/'.$Line[0].'">'.$Line[4].'</a></li>';
}
}

// ---
echo '</ul>';
}

?>

</div>
</div>
<?php

}
else {
$ItemCat $ShopArray[$Selected][1];
$ItemType $ShopArray[$Selected][2];
$ItemID $ShopArray[$Selected][3];
$ItemName $ShopArray[$Selected][4];
$ItemAnc $ShopArray[$Selected][5];

// Считаем цену
$ItemPrice $ShopArray[$Selected][6];
$ItemPrice $ItemPrice - (($ItemPrice $Shop['discount']) / 100);

if (isset(
$ItemType) AND isset($ItemID)) {
// Покупка вещей
if($_POST['buyitem']) {
if (!
$Username) {
echo 
$Engine->Message('error','Произошла критическая ошибка в работе скрипта!');
}
elseif (
$Online == '1') {
echo 
$Engine->Message('error','Сначала выйдите из игры!');
}
elseif (
$Engine->GetCredits($Username) < $ItemPrice) {
echo 
$Engine->Message('error','У вас недостаточно кредитов для покупки!');
}
else {
$Query $DB->Query("declare @it varbinary(3840); set @it=(select [Items] from [warehouse] where [AccountID]='".$Username."'); print @it");
$MyItems $DB->GetLastMessage();

if (
$ItemCat == 0) {
// ---
$Bank null;

// Генерируем сет
for($Cat 7$Cat 12; ++$Cat) {
$Generate GenerateItem($Cat$ItemID15725510111111$ItemAnc);

//
$Base $BaseArray[$Cat.";".$ItemID];
$PosX $Base[3];
$PosY $Base[4];

if (
$PosX != NULL or $PosY != NULL) {
// ---
$FreeSlots 0;
$MyNewItems null;

// Добовляем шмотку
if ($Bank == NULL) {
$Slot SmartSearch($MyItems,$PosX,$PosY);
$FreeSlots $Slot 32;
$MyNewItems substr_replace($MyItems$Generate, ($FreeSlots 2), strlen($Generate));
}
else {
$Slot SmartSearch($Bank,$PosX,$PosY);
$FreeSlots $Slot 32;
$MyNewItems substr_replace($Bank$Generate, ($FreeSlots 2), strlen($Generate));
}

// Обновляем шмот
$Bank $MyNewItems;
}
}
}
else {
// Генерируем шмотку
$Generate GenerateItem($ItemType$ItemID15725511111111$ItemAnc);

//
$Base $BaseArray[$ItemType.";".$ItemID];
$PosX $Base[3];
$PosY $Base[4];

$FreeSlots 0;
$MyNewItems null;

$Slot SmartSearch($MyItems,$PosX,$PosY);
$FreeSlots $Slot 32;
$MyNewItems substr_replace($MyItems$Generate, ($FreeSlots 2), strlen($Generate));
}

// Проверка места
if ($Slot == 1337) {
echo 
$Engine->Message('error','Нету свободного места в банке!');
}
else {
// Время
$BuyTime date('d.m.Y H:i'$Time);

// Запрос
/*$Query = "UPDATE MEMB_CREDITS SET credits = credits - ".$ItemPrice.", items = items + 1 WHERE memb___id = '$Username';
UPDATE [warehouse] SET [Items] = ".$MyNewItems." WHERE [AccountId] = '".$Username."';
INSERT INTO [Web_Shop]([memb___id],[item],[price],[time]) VALUES ('$Username','$NewItem','$ItemPrice','$BuyTime');";*/

$Query "UPDATE MEMB_CREDITS SET credits = credits - $ItemPrice, items = items + 1 WHERE memb___id = '$Username';
UPDATE [warehouse] SET [Items] = 
$MyNewItems WHERE [AccountId] = '$Username';";

if (!
$DB->Query($Query)) {
// Сообщение
echo $Engine->Message('error','Произошла ошибка при выполнении запроса!');

// Пишем лог
$Engine->WriteLog('[Shop]['.$Engine->GetServer($_SESSION['Server']).']['.$Username.']['.$Date.'] Произошла ошибка при выполнении запроса!''shop');
}
else {
// Сообщение
echo $Engine->Message('ok','Благодарим Вас за покупку! Приятной игры на нашем сервере!');

// Пишем лог
$Engine->WriteLog('[Shop]['.$Engine->GetServer($_SESSION['Server']).']['.$Username.']['.$Date.'] Благодарим Вас за покупку! Приятной игры на нашем сервере!''shop');
}
}
}
}

// Вывод Шмоток
$Export NULL;

if (
$ItemCat == 0) {
for(
$Cat 7$Cat 12; ++$Cat) {
$BaseView $BaseArray[$Cat.";".$ItemID];

// Fix view
if ($BaseView[3] != 0) {
$GenerateView GenerateItemView($Cat$ItemID15725510111111$ItemAnc);
$ItemView ItemInfo($GenerateView);
$Export .= '<img src="'.$ItemView['thumb'].'">';
}
}
}
else {
$Luck 1;
$Skill 1;

if (
$ItemCat == 9) {
$Luck 0;
$Skill 0;
}

$GenerateView GenerateItemView($ItemType$ItemID157255$Luck$Skill111111$ItemAnc);
$ItemView ItemInfo($GenerateView);
$Export .= '<img src="'.$ItemView['thumb'].'">';
}


$ItemOpt $ItemView['name_small'];
$ItemColor $ItemView['color'];
$Export .= $ItemView['info_small'];

?>

<div align="center">
<input type="submit" class="button-style" value="Назад" name="back" onclick="history.back();">
<table class="cells" style="width:70%">
<tr align="center">
<td colspan="2" class="header" style="color:<?php echo $ItemColor?>"><?php echo $ItemOpt.$ItemName?> + 15 + ALL</td>
</tr>
<tr>
<td align="center" colspan="2"><?php echo $Export;?></td>
</tr>
<tr>
<td align="center" colspan="2"><b>Итого вышло <font color="red"><?php echo $ItemPrice?></font> кредитов</b></td>
</tr>
</table>
<form action="" method="post">
<input type="hidden" name="buyitem" value="1"><input type="submit" class="button-style" value="Купить" name="buy" onclick="return confirm('Вы действительно хотите купить этот предмет?');">
</form>
</div>
<?
}
}

?>

NexT

В таблице MEMB_CREDITS помимо колонки credits, должна быть колонка items (bigint).

DEATHSIDE

Цитата: NexT от 2018 Янв. 26, 23:40  В таблице MEMB_CREDITS помимо колонки credits, должна быть колонка items (bigint).

Спасибо большое NexT.




Ещё вопрос
При выборе персонажа из топа.
Когда жмёшь на ник игрока.

Ничего не происходит а просто перекидывает на главную страничку..
В чём может быть проблема?

Ребят может кто помочь с данной проблемой описанной выше?

Вопрос закрыт.
Спасибо NEXT за помощь!

Amulon

#5
неплохой мой дизайн (ТЫК) у тебя воришка )  кому нужно пишите в лс отдам его бесплатно с псд форумом лаунчером и интро

Похожие темы (3)