Автор Тема: Добавить переменную  (Прочитано 1416 раз)

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

obmenvizАвтор темы

  • *
  • Оффлайн
  • Награды Более 7 лет на форуме Более 10 сообщений
  • Дата регистрации: Май 2016
  • Сообщений: 22
  • Страна: by
  • Репутация +0/-0
  • Пол: Мужской
Добавить переменную
« : 14 Марта 2019, 22:49:59 »
Как добавить в сессию переменную admin ? Вот файл

<?php

define('TIME', time());
define('BASE_DIR', $_SERVER['DOCUMENT_ROOT']);

header("Content-type: text/html; charset=utf-8");

session_start();

if (!isset($_SESSION['user_id'])) { exit(); }

function __autoload($name){ include(BASE_DIR."/classes/_class.".$name.".php");}

$config = new config;

$db = new db($config->HostDB, $config->UserDB, $config->PassDB, $config->BaseDB);
$db->Query("set names cp1251;");

$db->Query("SELECT * FROM db_users_b WHERE id = '".$_SESSION['user_id']."'");
$users_info = $db->FetchAssoc();

//print_r($_POST);

if (isset($_POST['cnt']) && $_POST['cnt'] == $_SESSION['cnt'])
{
  $user_name = $_SESSION['user'];
  $adv = isset($_POST['adv']) ? (int) $_POST['adv'] : 0;
  $mode = isset($_POST['mode']) ? (int) $_POST['mode'] : 0;
  $use = isset($_POST['use']) ? (int) $_POST['use'] : 0;
   
  if (!$adv && !$mode && !$use) exit('no1');
 
  if (isset($_SESSION['admin']))
  {
    $db->query("SELECT * FROM db_serfing WHERE id = '".$adv."'");
  }
  else
  {
    $db->query("SELECT * FROM db_serfing WHERE user_name = '".$user_name."' and id = '".$adv."'");
  }
 
  if (!$db->NumRows()) exit('no2');
 
  $result = $db->FetchAssoc();
 
  switch ($use)
  {
    //запуск
    case 1:
   
    if ($result['status'] == 3 && $result['money'] >= $result['price'])
    {     
      $db->query("UPDATE db_serfing SET status = '2' WHERE id = '".$adv."'");       
       
      exit('1');
    }
   
    break;
   
    //пауза
    case 2:
   
    if ($result['status'] == 2)
    {     
      $db->query("UPDATE db_serfing SET status = '3' WHERE id = '".$adv."'");       
       
      exit('1');
    }
   
    break;
 
    //очистка просмотров
    case 3:
   
    if ($result['view'] > 0)
    {
      $db->query("UPDATE db_serfing SET view = '0' WHERE id = '".$adv."'");       
       
      exit('1');   
    }
   
    break;
   
    //удаление
    case 4:
   
    if ($result['money'] > 0) exit('no3');
   
    if ($mode == 2) exit();
   
    $db->query("DELETE FROM db_serfing WHERE id = '".$adv."'");       
   
    $db->query("DELETE FROM db_serfing_view WHERE ident = '".$adv."'");
   
    exit('1');   
   
    break;
 
    //скорость просмотров
    case 5:

    $speed = ($result['speed'] + 1) <= 7 ? $result['speed'] + 1 : 1;
     
    $db->query("UPDATE db_serfing SET speed = '".$speed."' WHERE id = '".$adv."'");       
       
    exit(''.$speed.'');     
   
    break;
   
    //отправка на модерацию
    case 6:

    if ($result['status'] == 0)
    {
      $db->query("UPDATE db_serfing SET status = '1' WHERE id = '".$adv."'");       
 
      exit('1');
    }     
     
    break;
   
    //одобрение модером
    case 10:

    if ($result['status'] == 1)
    {
      $db->query("UPDATE db_serfing SET status = '3' WHERE id = '".$adv."'");       
 
      exit('1');
    }     
     
    break;
   
    //удаление модером
    case 11:

    $db->query("DELETE FROM db_serfing WHERE id = '".$adv."'");
    $db->query("DELETE FROM db_serfing_view WHERE ident = '".$adv."'");
   
    exit('1');
             
    break;
 
    //пополнение баланса
    case 12:

    $money = floatval($_POST['price']);
   
    if ($money <= 0) exit('YOU BAD CHEL )))');
   
    if ($_SESSION['admin'])
    {
      $db->query("UPDATE db_serfing SET `money` = `money` + '".$money."' WHERE id = '".$adv."'");
     
      exit('1');
    }
    else
    {
      if ($users_info['money_serf'] >= $money)
      {
         
        $db->query("UPDATE db_serfing SET `money` = `money` + '".$money."' WHERE id = '".$adv."'");
   
        $db->query("UPDATE db_users_b SET `money_serf` = `money_serf` - '".$money."'    WHERE id = '".$_SESSION['user_id']."'");
   
        exit('1');
      }
      else
      {
        exit('NO MONEY');
      }
    }
             
    break;

    default:
    break;
  }
}

exit('no4');
?>
 

Rich-99000000

  • *
  • Оффлайн
  • Награды Более 7 лет на форуме Более 250 сообщений Репутация более 5 Топ 10 по сообщениям Благодарность от форума Более 10 созданных тем
  • Дата регистрации: Июль 2016
  • Возраст: 28
  • Сообщений: 460
  • Страна: ru
  • Поблагодарили: 136 раз(а)
  • Репутация +6/-2
  • Пол: Мужской
  • моды, сайты на заказ недорого >> ЛС
  • Дата рождения:
    1995-06-28
    Социальные сети:
    ВКонтакте
Добавить переменную
« Ответ #1 : 14 Марта 2019, 23:17:25 »
if (isset($_SESSION['admin']))
  {
    $db->query("SELECT * FROM db_serfing WHERE id = '".$adv."'");
  }
здесь она уже используется. Если именно инициализировать, чтобы она существовала, то при входе login.php или же при входе в админку инициировать ее примерно так: $_SESSION['admin'] = true;
 

obmenvizАвтор темы

  • *
  • Оффлайн
  • Награды Более 7 лет на форуме Более 10 сообщений
  • Дата регистрации: Май 2016
  • Сообщений: 22
  • Страна: by
  • Репутация +0/-0
  • Пол: Мужской
Добавить переменную
« Ответ #2 : 14 Марта 2019, 23:40:08 »
здесь она уже используется. Если именно инициализировать, чтобы она существовала, то при входе login.php или же при входе в админку инициировать ее примерно так: $_SESSION['admin'] = true;

Просто у меня вот такая ошибка в этом коде.
Notice: Undefined index: admin in /var/www/u0580808/data/www/сайт.ru/ajax/us-advservice.php on line 151
1
при пополнении баланса уже созданого сайта в серфинге.  И мне сказали что "В сессии отсутствует переменная admin"

Если админка запущена и серфинг ложешь то без проблем и каких либо ошибок
 
Теги: