Ответы пользователя по тегу PHP
  • Как записать в сессию доп параметры с БД?

    @dagababaev
    // Начинаем работу с сессиями
    session_start();
    $type_of_user = '';
    
    // Проверяем, если в сессии нет ID или Role – просим авторизоваться
    if (!$_SESSION['ID'] || !$_SESSION['Role']) {
      // Здесь код / переброс на аторизвцию
      die('Auth needed');
    }
    
    // Далее на примере Role, но под ID просто нужно расширить проверки
    // Соответсвенно если данные в БД, получаете из нее роль об текущей $_SESSION['Role']
    If ($_SESSION['Role'] == "admin") {
     // Если это админ
     $type_of_user = 'admin';
    }
    
    $menu = '';
    
    if ($type_of_user == 'admin') {
        $menu .= '<a href="#">Admin Link 1</a><br>'; 
        $menu .= '<a href="#">Admin Link 2</a><br>';
        $menu .= '<a href="#">Admin Link 3</a><br>'; 
        $menu .= '<a href="#">Admin Link 4</a><br>';  
    } else {
        $menu .= '<a href="#">Link 1</a><br>'; 
        $menu .= '<a href="#">Link 2</a><br>';
        $menu .= '<a href="#">Link 3</a><br>'; 
        $menu .= '<a href="#">Link 4</a><br>';  
    }
    
    echo $menu;


    Соответсвенно при формировании меню из БД вам нужно добавить доп. свойство – Role и делать выборку по роли. Как-то так…
    Ответ написан
    Комментировать
  • Как ограничить доступ к скрипту (Боту) в определенное время?

    @dagababaev
    Можно решить добавлением пары проверок:

    $start = "10:00";
    $stop = "02:00";
    $current_time = "01:01"; // $current_time = date('H:i');
    
    $result = false;
    
    if ($start >= $stop) {
        if ($current_time >= "00:00" && $current_time <= $stop) $result = true;
        if ($current_time >= $start && $current_time <= "23:59") $result = true;
    } elseif ($current_time >= $start && $current_time <= $stop) {
       $result = true;
    }
    
    if ($result == true) exit ("start - stop");


    Ответ написан
    1 комментарий
  • PHP - вывод картинок из папки. Как вывести только JPG?

    @dagababaev
    $folder = "archive/images/";
    $img_arr = glob($folder . "/*.jpg");
    
    foreach($img_arr as $img)
    {
      echo $img;
    }
    Ответ написан
    Комментировать
  • Обновление Excel-документа?

    @dagababaev
    Вам нужно гуглом пройтись по теме "Как открыть общий доступ к книге Excel". Это реально. Дальше все зависит от нюансов – где лежит файл, как происходит доступ к нему и …
    Ответ написан
    Комментировать
  • Как правильно составить?

    @dagababaev
    $n = 10;
    $now = 0;

    $now += $n;
    if ($now >= 100) $now -= 100;
    $need = 100 - $now;

    echo $now."\n".$need;

    С уходом в минус не совсем понял, но если имеется ввиду, на сколько нужно ему "убавить" n, тогда код ниже, но в данном случае n должно быть не только +n, но и -n

    $n = 10;
    $now = 101;

    $now += $n;
    $need = 100 - $now;

    echo $now."\n".$need;
    Ответ написан