Добавил удаление из базы и дописал в моем первом о AVDB посте то же самое что и тут:
УДАЛЕНИЕ ИЗ БАЗЫ
База закрыта для гостей, доступ удаления не тот же самый что для записи - а уровнем выше. Чтоб получить доступ к удалению из базы, надо контактировать меня, в любом месте. Запрос удаления отсылается следующим способом через
HTTP GET, все параметры без
<>, и прошу юзать
urlencode в параметрах, чтоб небыло информации с ошибками:
Код: Выделить всё
http://www.te-home.net/?do=tools&action=avdbdrop&nick=<ник>&addr=<ип>
Оба параметра не обязательны но хоть один должен присутствовать. По присутсвию обоих параметров скрипт удаляет ту строчку где ник и ип совпадают, по присутствию только ника скрипт удаляет все строчки в которых присутствует указанный ник, по присутствию только ипа скрипт удаляет все строчки в которых присутствует указанный ип. Все очень просто, ответ тоже простой: Если у вашего клиента что шлет запрос на удаление нет доступа, в ответ он получает контент с цифрой ноль - байт 48. Если не было найдено ни одной строчки для удаления ответ приходит в виде черточки, символ "-" - байт 45. Если же есть доступ и есть строчки для удаления то они удаляются и ответ приходит цифрой равной количеству удаленных строк, что значит "спасибо, все сделал". Также во время удаления каждой строчки, на стороне сервера производиться +1 к переменной "всего удаленных строк" -
Avdb-Delete-Count, о ней будет идти речь ниже.
...
Еще edit: По просьбе
flylinkdc добавил HTTP хедер, англ. header, с названием
Avdb-Delete-Count, который отличается от предыдущего в количество удаленных строк если была удалена хоть одна строчка. Приведу пример: Вы впервые загрузили базу с помощью
avdbload, вам будет дан хедер, к примеру такой:
Тут указано что до сих пор из базы было удалено всего 35 строчек. Вы отсылаете повторный запрос чтения базы, а там номер уже не 35 а 37 - что говорит о том что с последнего раза удалилось еще 2 строчки, потому вам скорее всего стоит полностью обновить базу с нуля, где уже не будет тех 2-х удаленных строк. Это удобно только в том случае, когда вы полностью создаете реплику общей базы AVDB, для тех кто загружает свежую базу по началу работы клитента - результаты уже в норме.