Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Модули » Удалить всех пользователей с сайта DLE

Удалить всех пользователей с сайта DLE


     25.10.2011    Модули, Хаки    11198

вопрос
Всем привет. Есть ли возможность удалить всех пользователей одним разом. Модуль, или хак....Выделять по 50 шт. и нажимать удалить, очень долго и очень много...Их у меня 47 тысяч...

Ответил: ScreN


Зайти в phpMyAdmin. Слева выбрать название своей базы данных. Потом нажать по таблице ваш префикс_users, по умолчанию (dle_users). После того как вошли в таблицу, на верхней панели phpMyAdmin выбрать пункт (Обзор). Обзор покажет всех пользователей сайта, их Логины, зашифрованные пароль, id и.т.д. В нижней панели или в верхней найти поле Показать: по умолчанию стоит число "30", ввести свое число, нажать на кнопку показать. Далее в самом низу найти ссылку "Отметить все", этим самым вы выберите все значения таблицы. Далее подняться вверх и найти СЕБЯ юзера с id 1 и вашим логином. Снять с него выделение, убрал галочку слева. Опять же снизу, в том же месте где находится ссылка Отметить все, справа от нее найти пункт "С отмеченными:" и там нажать на красный крестик. Подтвердить удаление всех значений. Далее можно почистить КЭШ в админке dle.

Перед тем как лезть в phpMyAdmin, сделать резервную копию всей базы данных, через админку dle.

Все действия с таблицей проводить очень внимательно. Не забыв при удалении всех значений, снять с себя галочку, дабы не кикнуть себя со всеми остальными.

Не в коем случае не трогать на верхней панели пункты "Отчистить" или "Удалить"
Пункт "Отчистить" удалит всю структуру таблицы (Все ее значение) вместе с Вами.
Пункт "Удалить" полностью удалит таблицу dle_users, вместе со всеми ее значениями, чего делать не советую.

UPD by Sander
Открыть файл index.php, найти строку:
require_once ROOT_DIR . '/engine/init.php';

Вставить строку:
$db->query("DELETE FROM ".USERPREFIX."_users WHERE id!=1");

Если же сохранение аккаунта админа не обязательно, то лучше:
$db->query("TRUNCATE TABLE ".USERPREFIX."_users");

После чего просто открыть любую страницу сайта. Потом обязательно удалить вставленную строку.
Отредактировал 25-10-2011, 23:25 - Sander
Причина: Добавил альтернативный ответ

4 комментария

compis
Юзер

compis - 25 октября 2011 12:12 -

Самое простое:
1. Настройка системы
2. Настройки для пользователя
3. Автоматическое удаление зарегистрированных пользователей: поставить 1
и через один день скрипт сам удалит всех кто не посещал сайт 1 день.

Чуть посложнее:
Войти в базу и удалить всех юзеров. (бэкап базы сделать обязательно)

remo
Юзер

remo - 18 сентября 2012 21:48 -

плюс как вариант отредактировать файл editusers.php в папке engine/inc/ строчку $news_per_page = 50; и вписать по сколько выводить юзеров )

nalex
Юзер

nalex - 19 сентября 2013 07:35 -

что нужно добавить в приведенную строку, чтобы сохранить первых 100 пользователей?
$db->query("DELETE FROM ".USERPREFIX."_users WHERE id!=1");
а еще лучше подскажите:
как удалить всех пользователей с комментариями и публикациями меньше 1 (одного)?

nalex
Юзер

nalex - 19 сентября 2013 08:53 -

вручную через админку удалил больше 10 тысяч пользователей. Размер БД не уменьшился, хотя в hpMyAdmin таблица _user весила раньше до удаления и сейчас весит больше 5 Мб. Кто-нибудь подскажет в чем дело?

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх