Ниже код. Протестировал модуль, все работает хорошо только не снимает с баланса покупателя. Знаю что хожу гдето рядом а исправить не могу. может кто поможет?
<?PHP header("Content-Type: text/html; charset=windows-1251");?>
<meta http-equiv="content-type" content="text/html; charset=windows-1251" />
</div>
<?PHP
$_OPTIMIZATION["title"] = "Магазин";
$_OPTIMIZATION["description"] = "Магазин";
$_OPTIMIZATION["keywords"] = "Магазин";
?>
<div class="cl-right">
<div class="s-bk-lf">
<div class="acc-title">Магазин</div>
</div>
<div class="silver-bk"><div class="clr">
<?php
$userid = $_SESSION["user_id"];
$username = $_SESSION["user"];
$data = time();
$db->Query("SELECT * FROM `db_config` WHERE id = '1' LIMIT 1");
$sonfig_site = $db->FetchArray();
$db->Query("SELECT * FROM `db_users_a` WHERE id = '$userid' AND user = '$username' LIMIT 1");
$user_array = $db->FetchArray();
$db->Query("SELECT * FROM db_users_b WHERE id = '$userid' LIMIT 1");
$user_data = $db->FetchArray();
$db->Query("SELECT * FROM `db_mag_cat` ");
$cat_site = $db->FetchArray();
if(isset($_GET["show"])){
$idShow = $_GET['show'];
echo $idShow;
$db->Query("SELECT * FROM `db_mag` WHERE id=".$idShow);
$show = $db->FetchArray();
$serebro = $show['price'] * $sonfig_site["ser_per_wmr"];
$link = "http://".$_SERVER['SERVER_NAME']."/uploads/".$show["namefile"]."";
if ($idShow == $show['id']) { // Проверка на существование товара в магазине
$mass = "[br /]<center>Поздравляем с приобретением ".$show["name"]."![br /]
С Вашего счета было списано ".$serebro." серебра.[br /][br /]
Скачать архив можно по сылке: <a target='_blank' href='".$link."'>".$link."[/url][br /]
или нажав <a target='_blank' href='".$link."'> =>>> СЮДА[/url][br /][br /]
Спасибо!</center>";
# Блокировка сессии
if(!isset($_SESSION["user_id"])){
//Header("Location: /");
echo "<center><H2 style='color:red'>Авторизуйтесь, пожалуйста! <a href='/magazin'>Назад[/url]</H2></center>";
//return;
}
else
{
# Проверяем баланс пользовтеля
if($serebro <= $user_data["money_b"]){
# Проверяем на существующие заявки
$db->Query("SELECT COUNT(*) FROM `db_mag_orders` WHERE user_name = '$username' AND user_id = '$userid' AND tovar_id = '$idShow' ");
if($db->FetchRow() == 0){
//echo "No";
# ==== ОПЛАТА ПОЛЬЗОВАТЕЛЮ ==== #
# Проверяем на существующие заявки
$db->Query("SELECT COUNT(*) FROM `db_mag_users` WHERE tovar_id = '$idShow' ");
if($db->FetchRow() == 0){
//echo "Нет товара! Пользователь НЕ продает!";
# СРЕДСТВА ИДУТ АДМИНУ, т.к. выложил товар АДМИН. #
# Заносим в db_mag_orders покупку
$db->Query("INSERT INTO `db_mag_orders` (user_name, user_id, tovar_id, date_add, sum)
VALUES ('$username','$userid','$idShow','$data', '".$show['price']."') ");
# Снимаем с пользователя
$db->Query("UPDATE `db_users_b` SET money_b = money_b - '$serebro' WHERE id = '$userid'");
# Отправляем на почту
$sender = new isender;
$sender -> SendMagazin($username, $user_array["email"], $link);
# Выводим сообщение
echo $mass;
} else {
//echo "Есть такой товар. Пользователь продает!";
# СРЕДСТВА ИДУТ ПОЛЬЗОВАТЕЛЮ, т.к. выложил товар ПОЛЬЗОВАТЕЛЬ. #
# Заносим в db_mag_orders покупку
$db->Query("INSERT INTO `db_mag_orders` (user_name, user_id, tovar_id, date_add, sum)
VALUES ('$username','$userid','$idShow','$data', '".$show['price']."') ");
# Добавляем на баланс пользователю
$db->Query("SELECT * FROM `db_mag_users` WHERE tovar_id = ".$idShow);
$showRow = $db->FetchArray();
$idUserTov = $showRow['user_id'];
$db->Query("UPDATE `db_users_b` SET money_b = money_b + '$serebro' WHERE id = '$idUserTov'");
# Добавляем статистику пользователю
$db->Query("UPDATE `db_mag_users` SET sumtov = sumtov + '$serebro' WHERE user_id = '$idUserTov' AND tovar_id = '$idShow' ");
# Отправляем на почту
$sender = new isender;
$sender -> SendMagazin($username, $user_array["email"], $link);
# Выводим сообщение
echo $mass;
}
# ==== /ОПЛАТА ПОЛЬЗОВАТЕЛЮ ==== #
}
else
{
echo "<center><H2 style='color:red'>Вы уже покупали данный товар! <a href='/magazin'>Назад[/url]</H2>
Скачать архив можно по сылке: <a target='_blank' href='".$link."'>".$link."[/url][br /]
или нажав <a target='_blank' href='".$link."'> =>>> СЮДА[/url][br /][br /]</center>";
}
}else echo "<center><H2 style='color:red'>Недостаточно средств! <a href='/magazin'>Назад[/url]</H2></center>";
}
} else echo "<center><H2 style='color:red'>Такого товара НЕТ! <a href='/magazin'>Назад[/url]</H2></center>";
}
else
{
#start //echo "no show";
if(isset($_GET["buy"])){
$idTovar = $_GET['buy'];
$db->Query("SELECT COUNT(*) FROM `db_mag` WHERE id = '$idTovar' ");
if($db->FetchRow() == 0){ // Проверка на существование товара в магазине
echo "<center><H2 style='color:red'>Такой товар купить нельзя! <a href='/magazin'>Назад[/url]</H2></center>";
}
else
{
$db->Query("SELECT * FROM `db_mag` WHERE id=".$idTovar);
while($magtov = $db->FetchArray()){
$serebro = $magtov['price'] * $sonfig_site["ser_per_wmr"];
?>
<table align="left" cellspacing="5" cellpadding="5" border="1" width="99%">
<tr>
<td><H2><?=$magtov["name"];?></H2></td>
<td>Дата публикации: <?=date("d.m.Y",$magtov["date_add"]); ?> в <?=date("H:m:s",$magtov["date_add"]); ?></td>
</tr>
<tr>
<td colspan="2" align="center"><img src="../../uploads/<?php echo $magtov['img']; ?>" width="" height="" /></td>
</tr>
<tr>
<td colspan="2"><?php echo $magtov["description"]; ?></td>
</tr>
<tr>
<td colspan="1">Цена: <?=$magtov['price'];?> RUB</td>
<td colspan="1"><a href="/magazin/show/<?=$magtov['id'];?> ">КУПИТЬ[/url]</td>
</tr>
</table>
<?php
}
}
}
else
{
#start //echo "no bye";
?>
<?php
if(isset($_GET["cat"])){
$idCat = $_GET["cat"];
$db->Query("SELECT * FROM `db_mag` WHERE `id_cat` = '$idCat' ORDER BY `id` DESC ");
if($db->NumRows() > 0){
while($mag = $db->FetchArray()){
?>
<table align="left" cellspacing="5" cellpadding="5" border="1" width="99%">
<tr>
<td>№<?=$mag["id"];?></td>
<td><?=$mag["name"];?></td>
<td>Дата публикации: <?=date("d.m.Y",$mag["date_add"]); ?> в <?=date("H:m:s",$mag["date_add"]); ?></td>
</tr>
<tr>
<td colspan="3"><img src="/uploads/<?=$mag['img'];?>" width="" height="35%" > <?php $desc=$mag["description"]; echo substr("$desc", 0, 100)."..."; /* читаем с нулевого символа, до 100 и добавляем многоточие */ ?></td>
</tr>
<tr>
<td colspan="2"><a href="/magazin/buy/<?=$mag['id'];?>">Подробнее о товаре ...[/url]</td>
</tr>
</table>
<HR/>
<?php
}
}
else
{
$db->Query("SELECT COUNT(*) FROM `db_mag_cat` WHERE id = '$idCat' ");
if($db->FetchRow() !== 0){ // Проверка на существование товара в магазине
echo "<center><H2 style='color:red'>Такой категории товара НЕТ! <a href='/magazin'>Назад[/url]</H2></center>";
}
else
{
echo "<center><H2 style='color:red'>Такого товара НЕТ! <a href='/magazin'>Назад[/url]</H2></center>";
}
}
}
else
{
# ========== Постраничная навигация =============== #
DEFINE('ITEMS_PER_PAGE', 8); # <= количество товаров на страницу
// Выбираем из БД общее количество записей
$db->Query("SELECT COUNT(*) FROM `db_mag` ");
//$res = $db->FetchRow();
$total = $db->FetchRow( 0, 0 );
// Проверяем передан ли номер текущей страницы
if ( isset($_GET['page']) ) {
$page = (int)$_GET['page'];
if ( $page < 1 ) $page = 1;
} else {
$page = 1;
}
// Сколько всего получится страниц
$cnt_pages = ceil( $total / ITEMS_PER_PAGE );
if ( $page > $cnt_pages ) $page = $cnt_pages;
// Начальная позиция
$start = ( $page - 1 ) * ITEMS_PER_PAGE;
# ========== /Постраничная навигация =============== #
$db->Query("SELECT * FROM `db_mag` ORDER BY `id` DESC LIMIT ".$start.", ".ITEMS_PER_PAGE);
if($db->NumRows() > 0){
while($mag = $db->FetchArray()){
?>
<table align="left" cellspacing="5" cellpadding="5" border="1" width="99%">
<tr>
<td>№<?=$mag["id"];?></td>
<td><?=$mag["name"];?></td>
<td>Дата публикации: <?=date("d.m.Y",$mag["date_add"]); ?> в <?=date("H:m:s",$mag["date_add"]); ?></td>
</tr>
<tr>
<td colspan="3"><img src="/uploads/<?=$mag['img'];?>" width="" height="35%" > <?php $desc=$mag["description"]; echo substr("$desc", 0, 100)."..."; /* читаем с нулевого символа, до 100 и добавляем многоточие */ ?></td>
</tr>
<tr>
<td colspan="2"><a href="/magazin/buy/<?=$mag['id'];?>">Подробнее о товаре ...[/url]</td>
</tr>
</table>
<HR/>
<?php
}
}else echo "[br /]<center>Товаров нет!</center>";
# ========== Постраничная навигация =============== #
if ( $cnt_pages > 1 ){
echo '<div style="margin:1em 0"> Страницы: ';
// Проверяем нужна ли стрелка "В начало"
if ( $page > 3 )
$startpage = '<a href="/magazin/1"><<[/url] ... ';
else
$startpage = '';
// Проверяем нужна ли стрелка "В конец"
if ( $page < ($cnt_pages - 2) )
$endpage = ' ... <a href="/magazin/'.$cnt_pages.'">>>[/url]';
else
$endpage = '';
// Находим две ближайшие станицы с обоих краев, если они есть
if ( $page - 2 > 0 )
$page2left = ' <a href="/magazin/'.($page - 2).'">'.($page - 2).'[/url] | ';
else
$page2left = '';
if ( $page - 1 > 0 )
$page1left = ' <a href="/magazin/'.($page - 1).'">'.($page - 1).'[/url] | ';
else
$page1left = '';
if ( $page + 2 <= $cnt_pages )
$page2right = ' | <a href="/magazin/'.($page + 2).'">'.($page + 2).'[/url]';
else
$page2right = '';
if ( $page + 1 <= $cnt_pages )
$page1right = ' | <a href="/magazin/'.($page + 1).'">'.($page + 1).'[/url]';
else
$page1right = '';
// Выводим меню
echo $startpage.$page2left.$page1left.'<strong>'.$page.'</strong>'.$page1right.$page2right.$endpage;
echo '</div>';
}
# ========== /Постраничная навигация =============== #
}#Finish //echo "no cat";
}#Finish //echo "no bye";
}#Finish //echo "no show";
?>
</div>
<div class="clr"></div>
</center>
</div>
</div>
<div align="center" style="font-size:8px">
</div>
</body>
</html>
Проблема я думаю в этой строке:
# Снимаем с пользователя
$db->Query("UPDATE `db_users_b` SET money_b = money_b - '$serebro' WHERE id = '$userid'");
Но что я только не делал что-то у меня не выходит. Надеюсь на Вашу помощь.
Добавлено сообщение: [time]21 Май 2017, 17:00:25[/time]
Во время покупки продавцу зачисляет а с покупателя с баланса не снимает. Кто знает решение. Может подскажете? Благодарю заранее. Пол дня уже долблю, картинки подправил то подправил, думал уже все остануться только стили, ага не то-то было. Вот сижу, и уже башка не хочет варить. Поэтому обратился к Вам.
Добавлено сообщение: [time]21 Май 2017, 21:10:59[/time]
Да хоть бы кто взглянул в тему, подсказал что-то. Вроде форум живой? Странно....
Добавлено сообщение: [time]21 Май 2017, 21:13:04[/time]
Или только в личку и за деньги? Зачем тогда здесь тогда общаться спрашивать что-то?
Добавлено сообщение: 21 Мая 2017, 23:54:18
Извините если я был грубоват в данной теме, но проблема решена. Благодарю всех кто как-то принимал в этом участие.
