За последние 24 часа нас посетили 15577 программистов и 1613 роботов. Сейчас ищут 2060 программистов ...

Помогите , кнопка "Очистить логи"

Тема в разделе "PHP для новичков", создана пользователем Metriz, 1 апр 2015.

  1. Metriz

    Metriz Новичок

    С нами с:
    29 дек 2014
    Сообщения:
    26
    Симпатии:
    0
    Есть например один сервис , и есть кнопка "Очистить" логи , при нажатии на нее все логи с панели например должны очищаться.

    Как реализовать данное действие ?

    есть отдельный php файл "delete.php" , но почему-то он не помогает. :С
     
  2. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Что за логи? Это записи в базе которые отображаются на странице? Логи это файлы на диске имена которых отображаются на странице?

    Выкладывай его содержимое.

    Хз.
     
  3. Metriz

    Metriz Новичок

    С нами с:
    29 дек 2014
    Сообщения:
    26
    Симпатии:
    0
    Да , все верно.Должно очищать логи с БД.

    [​IMG]

    Вот содержимое файла delete.php :

    Код (Text):
    1. <?php
    2. if(!empty($_SESSION['login'])){
    3.     function delTree($dir){
    4.         $files = array_diff(scandir($dir), array('.','..'));
    5.         foreach ($files as $file) {
    6.             (is_dir("$dir/$file")) ? delTree("$dir/$file") : unlink("$dir/$file");
    7.         }
    8.         return rmdir($dir);
    9.     }
    10.     if(isset($_GET['id']) && !empty($_GET['id'])){
    11.         $id = intval($_GET['id']);
    12.         $mysqli->query("DELETE FROM `logs` WHERE `id`=$id");
    13.         header("Location:/panel");
    14.     }elseif($_GET['all']){
    15.         $mysqli->query("DELETE FROM `logs`");
    16.         header("Location:/panel");
    17.     }
    18. }else{
    19.     header ("Location: /panel/?do=login");
    20.    
    21.    
    22. }
    23. ?>
    Что именно вам предоставить ?
     
  4. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Можно очистить всю таблицу одним SQL запросом: TRUNCATE TABLE table_name
     
  5. Metriz

    Metriz Новичок

    С нами с:
    29 дек 2014
    Сообщения:
    26
    Симпатии:
    0
    Мне нужно очистить определенную таблицу , а именно "logs".

    Я выше предоставил содержимое файла , посмотрите.
     
  6. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Думаю DELETE FROM `logs` поменять на TRUNCATE TABLE `logs`
     
  7. Metriz

    Metriz Новичок

    С нами с:
    29 дек 2014
    Сообщения:
    26
    Симпатии:
    0
    Не помогло.
     
  8. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    После
    $mysqli->query("DELETE FROM `logs`");
    напиши:
    echo "удалить всё";
    print_r($mysqli->error_list);
    exit();

    и сообщи сюда результат
     
  9. Metriz

    Metriz Новичок

    С нами с:
    29 дек 2014
    Сообщения:
    26
    Симпатии:
    0
    Не помогло , страница перезагружается , но удаление не происходит.

    Вот содержимое удаления одного лога , но мне нужны все.

    Код (Text):
    1. <td class="delete"><a href="/panel/?do=delete&amp;id=47"></a></td>
     
  10. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    А куда перезагружается? По какому адресу происходит перенаправление?
    Покажи ссылку для удаления всех логов.
     
  11. Metriz

    Metriz Новичок

    С нами с:
    29 дек 2014
    Сообщения:
    26
    Симпатии:
    0
    Перезагрузка и раньше такая-же была , переходит на гл.страницу панели.

    [​IMG]

    [​IMG]

    Содержимое файла "delete.php".

    Код (PHP):
    1. <?php
    2. if(!empty($_SESSION['login'])){
    3.     function delTree($dir){ 
    4.         $files = array_diff(scandir($dir), array('.','..')); 
    5.         foreach ($files as $file) { 
    6.             (is_dir("$dir/$file")) ? delTree("$dir/$file") : unlink("$dir/$file"); 
    7.         } 
    8.         return rmdir($dir); 
    9.     } 
    10.     if(isset($_GET['id']) && !empty($_GET['id'])){
    11.         $id = intval($_GET['id']);
    12.         $mysqli->query("DELETE FROM `logs` WHERE `id`=$id");
    13.         header("Location:/panel");
    14.     }elseif($_GET['all']){
    15.         $mysqli->query("DELETE FROM `logs`");
    16.         header("Location:/panel");
    17.     }
    18. }else{
    19.     header ("Location: /panel/?do=login");
    20.     
    21.     
    22. }
    23. ?>
     
  12. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    попробуй ссылку для удаления всего подправить на delete.php?all=true
     
  13. Metriz

    Metriz Новичок

    С нами с:
    29 дек 2014
    Сообщения:
    26
    Симпатии:
    0
    Где её подправлять ?
     
  14. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    а ты знаешь где ты нажимаешь, чтобы удалить все логи? Вот там и подправь или вручную введи.
     
  15. Metriz

    Metriz Новичок

    С нами с:
    29 дек 2014
    Сообщения:
    26
    Симпатии:
    0
    Вот что получилось:

    Код (Text):
    1. panel/modules/delete.php?all=true
    Но это не помогло.
     
  16. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
  17. Metriz

    Metriz Новичок

    С нами с:
    29 дек 2014
    Сообщения:
    26
    Симпатии:
    0
    Как можно с вами связаться ?
    Выдам права для доступа к панельке , и посмотрите все.

    Результат тот-же.

    Добавлено спустя 37 минут 18 секунд:
    Проблема не решена. (