Автор Тема: Нужна помощь по модулю Магазин продажи файлов  (Прочитано 1550 раз)

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

SnaykАвтор темы

  • *
  • Оффлайн
  • Награды Более 7 лет на форуме Более 100 сообщений Топ 10 по созданным темам Более 10 созданных тем
  • Дата регистрации: Сен. 2016
  • Возраст: 38
  • Сообщений: 143
  • Страна: ua
  • Поблагодарили: 7 раз(а)
  • Репутация +1/-0
  • Пол: Мужской
  • Дата рождения:
    1986-04-17
Всем доброго времени суток.

Установил модуль "Магазин продажи файлов"

Все работает, но есть одно НО!

Когда нажимаешь "Купить" появляется пустое поле с номером ID товара и в состоянии счета закорючки. Вместо ссылки на скачивание ...

http://savepic.net/9446585.jpg
Нужна помощь по модулю Магазин продажи файлов


При этом со счета снимаются средства. При повторном нажатии "Купить" - все нормально, оповещает что товар уже приобретен и присутствует ссылка на скачивание.

Предполагаю что проблема в этой части кода:

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

Весь файл:
<?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>
                     Скачать архив можно по сылке: [br /][br /]<a target='_blank' href='".$link."'>".$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%" >&nbsp;&nbsp;<?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%" >&nbsp;&nbsp;<?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">&nbsp;Страницы: ';
             // Проверяем нужна ли стрелка "В начало"
             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>
 

APTEMOH

  • *
  • *
  • Оффлайн
  • Награды Более 8 лет на форуме Болеее 500 сообщений Топ 10 по сообщениям За помощь пользователям Репутация более 15 Более 10 созданных тем
  • Дата регистрации: Сен. 2015
  • Расположение: Расположение
  • Сообщений: 529
  • Страна: th
  • Поблагодарили: 64 раз(а)
  • Репутация +19/-2
  • Пол: Мужской
    Социальные сети:
    ВКонтакте
Нужно включить вывод ошибок. Так долго будем гадать.

takebet

Предполагать можно, но ошибка видимо здесь:
<td colspan="2" align="center"><img src="../../uploads/<?php echo $magtov['img']; ?>" width="" height="" /></td>

../../uploads/   замени на ../uploads/

 
 

SnaykАвтор темы

  • *
  • Оффлайн
  • Награды Более 7 лет на форуме Более 100 сообщений Топ 10 по созданным темам Более 10 созданных тем
  • Дата регистрации: Сен. 2016
  • Возраст: 38
  • Сообщений: 143
  • Страна: ua
  • Поблагодарили: 7 раз(а)
  • Репутация +1/-0
  • Пол: Мужской
  • Дата рождения:
    1986-04-17
Предполагать можно, но ошибка видимо здесь:
<td colspan="2" align="center"><img src="../../uploads/<?php echo $magtov['img']; ?>" width="" height="" /></td>

../../uploads/   замени на ../uploads/

К сожалению данные изменения не пошли на пользу ... Та же проблема!
 

Stas79

  • *
  • Оффлайн
  • Награды Более 6 лет на форуме !!! Более 10 сообщений
  • Дата регистрации: Апр. 2017
  • Сообщений: 30
  • Страна: ua
  • Поблагодарили: 1 раз(а)
  • Репутация +0/-0
  • Пол: Мужской
Есть рабочий магазин файлов. Вот демо: http://fileshop.kl.com.ua  Скажи следующее у тебя начисляет на баланс на Пауеер после установки данного магазина? А то у меня с этим проблема.

Добавлено сообщение: 03 Июля 2017, 16:53:02
Вот ссылка на тему: http://svalka58.ru/index.php?topic=4414.0 Могу помочь тебе с магазином файлов а ты мне с начислениями.
 

SnaykАвтор темы

  • *
  • Оффлайн
  • Награды Более 7 лет на форуме Более 100 сообщений Топ 10 по созданным темам Более 10 созданных тем
  • Дата регистрации: Сен. 2016
  • Возраст: 38
  • Сообщений: 143
  • Страна: ua
  • Поблагодарили: 7 раз(а)
  • Репутация +1/-0
  • Пол: Мужской
  • Дата рождения:
    1986-04-17
Зачисление средств после покупки идет на баланс для покупок пользователю, который выставил на продажу товар. Можно исправить начисление на баланс на вывод.
 

Stas79

  • *
  • Оффлайн
  • Награды Более 6 лет на форуме !!! Более 10 сообщений
  • Дата регистрации: Апр. 2017
  • Сообщений: 30
  • Страна: ua
  • Поблагодарили: 1 раз(а)
  • Репутация +0/-0
  • Пол: Мужской
Можно исправить начисление на баланс на вывод.
У меня на демо сайте идет на вывод. Ваша проблема еще актуальна? Так как я свою с пополнением решил. Какой файл Вы редактируете в данной теме? могу дать Вам свой для сравнения.
 

SnaykАвтор темы

  • *
  • Оффлайн
  • Награды Более 7 лет на форуме Более 100 сообщений Топ 10 по созданным темам Более 10 созданных тем
  • Дата регистрации: Сен. 2016
  • Возраст: 38
  • Сообщений: 143
  • Страна: ua
  • Поблагодарили: 7 раз(а)
  • Репутация +1/-0
  • Пол: Мужской
  • Дата рождения:
    1986-04-17
Ответил в ЛС.
 
Теги: