[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Удаление таблицы из БД
sochinec
Привет.
Есть личный кабинет юзера, в котором отображаются его созданные точки на карте яндекс API, так вот как мне по ссылке удалять или редактировать метки, метки юзера заранее известны по ID юзера, и выбираются из общего кол-во меток.
Наведите на мысль, или дайте пример!
Данке Шон!!!



Спустя 5 минут, 39 секунд (13.02.2011 - 13:21) waldicom написал(а):
А эти точки хранятся локально? Тогда DELETE FROM table where userId = x
Или это все делается через Yandex API? Тогда функциями того же API (какие точно сказать, к сожалению, не могу)

Спустя 7 минут, 39 секунд (13.02.2011 - 13:29) sochinec написал(а):
Точки добавляются через другой скрипт, в базу, все через PHP, я сделал скрипт где выводится все точки созданные юзером, определяется его ID из сесси, и делается выборка из общего списка меток для залогиненого юзера.

Так вот теперь не могу догнать как юзеру удалять точки и редактировать их , похожая фитча реализована в phpmyadmin
[IMG]
http://nekteyn.ru/uploads/posts/2010-01/12..._phpmyadmin.png[/IMG]

Как сформировать ссылку на удаление, в лоб что ли в переменную кинуть SQL запрос и выполнять его как юзер кликнет на ссылку, но блин кто мешает подставить другие значения в переменную и не жахнуть все точки, или не точки юзера.

Спустя 4 минуты, 18 секунд (13.02.2011 - 13:33) alex12060 написал(а):
DELETE FROM `dle_admin_sections` WHERE `id`='1';


Для чего запросы выводятся пхпмайадмине? Чтобы учились, как это все делается через пхп.

Спустя 4 минуты, 39 секунд (13.02.2011 - 13:38) sochinec написал(а):
ОМГ
Да я знаю как запрос составить.
Мне саму логику!

Спустя 1 минута, 49 секунд (13.02.2011 - 13:40) waldicom написал(а):
Когда выводятся точки, делается цкил по ним, или?
В цикле что-то подобное:

echo '<a href="deletePoint.php?id=' . $points['id] . '">удалить</a>';

Спустя 4 минуты, 10 секунд (13.02.2011 - 13:44) sochinec написал(а):
В цикле вывожу в таблицу, подобие пхпадмина таблички.

Спустя 2 минуты, 49 секунд (13.02.2011 - 13:47) sochinec написал(а):
Тоесть можно составить запрос в файл deletePoint.php, и по гету передавать id Точки на удаление?
Блин так легко подставить другие значения, например у юзера есть точки с ид 45, 43, 12. (заранее известны) а ктобудь возьмет и пошлет гет 32 и сотрет не то что нужно smile.gif

Спустя 20 минут, 27 секунд (13.02.2011 - 14:07) alex12060 написал(а):
Делай проверку, на существование логина в таблице.
Допустим. есть кука. в ней логин: user
у него точки: 25 68 15 21
Отправляешь запрос: delPos.php?id=25
Идет запрос:

$sql = mysql_query("DELETE FROM `dle_admin_sections` WHERE `id`='".mysql_real_escape_string($_GET['id'])."' AND `name`='".mysql_real_escape_string($_COOKIE['login'])."'") or die(mysql_error());


Если что то не подходит, то ничего не удалиЦа.

Спустя 19 минут, 19 секунд (13.02.2011 - 14:27) waldicom написал(а):
Цитата (sochinec @ 13.02.2011 - 11:47)
Блин так легко подставить другие значения, например у юзера есть точки с ид 45, 43, 12. (заранее известны) а ктобудь возьмет и пошлет гет 32 и сотрет не то что нужно smile.gif

Конечно может, если ты не позаботишься о проверке прав и вводимых значений.
Можно, например, при удалении проверять, принадлежат ли точки данному пользователю. Да и передавать все коррдинаты точки нет смысла, наверное. Достаточно просто передать id записи, в которой хранятся координаты точек.

Спустя 2 часа, 2 минуты, 36 секунд (13.02.2011 - 16:29) sochinec написал(а):
Ну вроде сообразил, мне же известны изначально какие точки принадлежат юзеру (id), в файле deletePoint.php загоню все ID точки в массив, при удалении пройдусь по массиву, если совпадает с тем что передал по гету, то пропускаю, если нет тогда бан по IP!
Спасибо за разжевывание.

Спустя 6 дней, 5 часов, 1 минута, 38 секунд (19.02.2011 - 21:31) sochinec написал(а):
Привет, теперь еще одна проблема, я сделал deletePoint.php?id=1
по гет запросу он удаляет точку, НО!
Выше идея с моим постом, не получилась та-как я уже получаю данные массивом, который содержит просто набор цыферок 2546734235 то есть набор id точек которые создал ЮЗЕР, сделано это выборкой по id зарегистрированного юзера, создавшего точку, из общего списка точек.

Логика такая:
Если юзер не авторизован значит он не попадет на эту страницу.
Если авторизован, то берется его ID, например 1, и делается выборка в БД из списка с точками (в поле каждой точки присутствует ID юзера создавшего её), после этого получаем строку с id точек созданные юзером с id 1, строка получается типа 426573423, далее юзер посылает запрос на удаление точки 4 , вот теперь как мне проверить его ли эта точка (ну чтобы левый юзер не смог удалить точки не созданные им), зная и имея набор ид точек созданные юзером.
Как бы вы это реализовали?

Спустя 8 минут (19.02.2011 - 21:39) YVSIK написал(а):
про му сол могу дать подсказку как это сделать
думаю так ===>
заходим В phpMyAdmin/
и пробуем удалять скажем одну строку из таблицы
и примерно удаляем,
всё удалили ;
вот это самый phpMyAdmin/ то удалит и всё будет правильно удалено
НО большое но, он ещё выдает чють выше весь запрос как он
это сделал
терь остается сохранить этот запрос и по его образу и подобию вставлять в код с нужными параметрами
в это-то случае запрос будет 100 пудов правильный отстается его применять

Спустя 6 минут, 26 секунд (19.02.2011 - 21:45) sochinec написал(а):
Я знаю как запрос сделать.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.