За последние 24 часа нас посетили 22699 программистов и 1271 робот. Сейчас ищет 741 программист ...

Как сделать удаление аккаунта с сайта?

Тема в разделе "PHP и базы данных", создана пользователем Jameses, 6 май 2013.

  1. Jameses

    Jameses Новичок

    С нами с:
    6 май 2013
    Сообщения:
    81
    Симпатии:
    0
    Пользователь хочет,удалить свой аккаунт,он нажимает удалить аккаунт,а дальше окно да или нет,и затем если да,то удаляет из mysql и бд этот аккаунт,а как через php сделать помогите
     
  2. Ganzal

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

    С нами с:
    15 мар 2007
    Сообщения:
    9.902
    Симпатии:
    969
    чо по деньгам?
     
  3. nixx

    nixx Активный пользователь

    С нами с:
    20 фев 2013
    Сообщения:
    132
    Симпатии:
    0
    Код (Text):
    1. $result = $db->query ("DELETE FROM user WHERE users='$_GET[users]'");
     
  4. Jameses

    Jameses Новичок

    С нами с:
    6 май 2013
    Сообщения:
    81
    Симпатии:
    0
    ооо спасибо!
     
  5. Jameses

    Jameses Новичок

    С нами с:
    6 май 2013
    Сообщения:
    81
    Симпатии:
    0
    Код (Text):
    1. <?php
    2.  
    3. define('INCLUDE_CHECK',true);
    4.  
    5. require 'connect.php';
    6. require 'functions.php';
    7. // Данные два файла нужно включать только в случае определения INCLUDE_CHECK
    8.  
    9.  
    10. session_name('tzLogin');
    11. // Запуск сессии
    12.  
    13. session_set_cookie_params(2*7*24*60*60);
    14. // Устанавливаем время жизни куки 2 недели
    15.  
    16. session_start();
    17. $result = $db->query ("DELETE FROM tz_members WHERE users='$_GET[users]'");
    18. unset($_SESSION['pass']);
    19. unset($_SESSION['usr']);
    20. unset($_SESSION['id']);//    уничтожаем переменные в сессиях   
    21. header('Location: http://.com');
    22. ?>  
    Fatal error: Call to a member function query() on a non-object in /home/u989543961/public_html/index/delete.php on line 17
     
  6. Ganzal

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

    С нами с:
    15 мар 2007
    Сообщения:
    9.902
    Симпатии:
    969
    ну прально. где у вас определение $db? голову выключать не нужно - многие дают код, удобный для них самих. вам как-бы нужно было на саму строку запроса любоваться а не весь код тупо закопипастить.
     
  7. Jameses

    Jameses Новичок

    С нами с:
    6 май 2013
    Сообщения:
    81
    Симпатии:
    0
    оу,щас начал понимать

    Добавлено спустя 1 минуту 23 секунды:
    а в данном случае $db это БД?Или что?
     
  8. Ganzal

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

    С нами с:
    15 мар 2007
    Сообщения:
    9.902
    Симпатии:
    969
    есть негласные правила именования сущностей по которым любой программист впервые читая код понимает что код выполняет.

    query - ЗАПРОС, db - похоже на DataBase то есть бд. теперь для себя решите похоже это на БД или на что-то еще.
     
  9. Jameses

    Jameses Новичок

    С нами с:
    6 май 2013
    Сообщения:
    81
    Симпатии:
    0
    Я тоже думал,что db- datebase ,просто думаю,ну малоли что

    Добавлено спустя 5 минут 1 секунду:
     
  10. Ganzal

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

    С нами с:
    15 мар 2007
    Сообщения:
    9.902
    Симпатии:
    969
    дэйт, это ДАТА, число-месяц-год которая. а ДАННЫЕ - datA, читается как дэйта, с ударением на первый слог
     
  11. Jameses

    Jameses Новичок

    С нами с:
    6 май 2013
    Сообщения:
    81
    Симпатии:
    0
    Код (Text):
    1. <?php
    2.  
    3. define('INCLUDE_CHECK',true);
    4.  
    5. require 'connect.php';
    6. require 'functions.php';
    7. // Данные два файла нужно включать только в случае определения INCLUDE_CHECK
    8. session_start();
    9.  
    10. $result = $db_database->query ("DELETE FROM tz_members WHERE users='$_GET[users]'");   
    11. unset($_SESSION['pass']);
    12. unset($_SESSION['usr']);
    13. unset($_SESSION['id']);//    уничтожаем переменные в сессиях   
    14. header('Location: http://.com');
    15. ?>
    И тоже самое,вернее таже самая ошибка
     
  12. Ganzal

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

    С нами с:
    15 мар 2007
    Сообщения:
    9.902
    Симпатии:
    969
    похоже вы все же выбрали вариант наименьшего насилия своего разума. еще раз спрошу у вас на простом русском языке - ГДЕ ОБЪЯВЛЕНИЕ ПЕРЕМЕННОЙ $DB_DATABASE ??? ЧТО У ВАС В ЭТОЙ ПЕРЕМЕННОЙ ХРАНИТСЯ НА МОМЕНТ ПОПЫТКИ ВЫЗОВА МЕТОДА QUERY() ???
     
  13. Jameses

    Jameses Новичок

    С нами с:
    6 май 2013
    Сообщения:
    81
    Симпатии:
    0
    в файле connect.php ,а этот файл подключен вот:
    Код (Text):
    1. <?php
    2. if(!defined('INCLUDE_CHECK')) die('У вас нет прав на выполнение данного файла!');
    3. /* Конфигурация базы данных */
    4.  
    5. $db_host        = '!!!';
    6. $db_user        = '!!!';
    7. $db_pass        = '!!!';
    8. $db_database    = '!!!';
    9.  
    10. /* Конец секции */
    11. $link = mysql_connect($db_host,$db_user,$db_pass) or die('Невозможно установить соединение с базой данных');
    12. mysql_select_db($db_database,$link);
    13. mysql_query("SET names UTF8");
    14.  
    15. ?>
     
  14. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    Прикольно. В переменной строка
    Код (Text):
    1. $db_database   = '!!!';
    , у строк нет метода query.
    Интересно, чем всё кончится?
     
  15. Jameses

    Jameses Новичок

    С нами с:
    6 май 2013
    Сообщения:
    81
    Симпатии:
    0
    а как сделать что был метод query?Я веть вас и спрашиваю
     
  16. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    Нужно было сразу показывать код, чтобы не испытывать терпение и телепатические способности товарища Ganzal :)
    И потом не известно, как там у вас таблицы в БД устроены, нужно показывать SQL запрос построения таблицы.
    Вот это, ведь, тоже не просто так копировать нужно
    Код (Text):
    1. DELETE FROM user WHERE users='$_GET[users]'
    т.к. у вас может быть другое имя таблицы, другие поля.
     
  17. Ganzal

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

    С нами с:
    15 мар 2007
    Сообщения:
    9.902
    Симпатии:
    969
    ну наверное объявить переменную как экземпляр класса в котором этот метод есть. или если разум еще не готов к пониманию принципов ооп - использовать старый добрый функциональный подход. идите в офман и читайте про mysqli. там предостаточно информации по процессу взаимодействия ваших будущих пхп-приложений с субд mysql.
     
  18. Jameses

    Jameses Новичок

    С нами с:
    6 май 2013
    Сообщения:
    81
    Симпатии:
    0
    это я знаю,я под себя подстроил,только вот запрос query как то не получаеться..
     
  19. Ganzal

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

    С нами с:
    15 мар 2007
    Сообщения:
    9.902
    Симпатии:
    969
    mysql_query пробовали?
     
  20. Jameses

    Jameses Новичок

    С нами с:
    6 май 2013
    Сообщения:
    81
    Симпатии:
    0
    я думал,над этим,щас попробую

    Добавлено спустя 2 минуты 25 секунд:
    получилось,но почему то не удалилось,вернее сам пользователь
     
  21. Ganzal

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

    С нами с:
    15 мар 2007
    Сообщения:
    9.902
    Симпатии:
    969
    а что тогда
    ????????
     
  22. Jameses

    Jameses Новичок

    С нами с:
    6 май 2013
    Сообщения:
    81
    Симпатии:
    0
    ну ,я подправил теперь выходит из аккаунта,но не удаляет его почемуто

    Добавлено спустя 1 минуту 18 секунд:
    Код (Text):
    1. <?php
    2.  
    3. define('INCLUDE_CHECK',true);
    4.  
    5. require 'connect.php';
    6. require 'functions.php';
    7.  
    8. session_name('tzLogin');
    9. // Запуск сессии
    10.  
    11. // Данные два файла нужно включать только в случае определения INCLUDE_CHECK
    12. session_start();
    13.  
    14. mysql_query("DELETE FROM tz_members WHERE id='$_GET[id]'");
    15. unset($_SESSION['pass']);
    16. unset($_SESSION['usr']);
    17. unset($_SESSION['id']);//    уничтожаем переменные в сессиях   
    18. header('Location: http://.com');
    19. ?>
     
  23. Ganzal

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

    С нами с:
    15 мар 2007
    Сообщения:
    9.902
    Симпатии:
    969
    ну наверное произошло то о чем предупреждал уважаемый YSandro ))) вы вообще как-нибудь отлаживаете? обучаетесь? или вам нужен результат и вы готовы обменять его на деньги?
     
  24. Jameses

    Jameses Новичок

    С нами с:
    6 май 2013
    Сообщения:
    81
    Симпатии:
    0
    нет,в данном случае я учусь,причем как получаеться..,я более менее осознаю,что и как в php ,но вот работа с БД,для меня пока еще не доконца понятна

    Добавлено спустя 1 минуту 3 секунды:
    стоп,так я под себя подписал,только у меня users='$_GET[users]' ,вместо users - id,так веть можно?

    Добавлено спустя 2 минуты 25 секунд:
    ну в смысле mysql_query("DELETE FROM tz_members WHERE id='$_GET[id]'");
     
  25. Ganzal

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

    С нами с:
    15 мар 2007
    Сообщения:
    9.902
    Симпатии:
    969
    язык структурированных запросов это стандарт работы с реляционными базами данных. тут достаточно просто один раз понять что это такое. у вас всего 4 метода работы с данными - вставка, обновление, удаление, выборка. есть еще служебные методы, но они относятся к СУБД а не к данным. язык слишком прост в том виде в котором вы его на данном этапе используете. идите изучайте матчасть и успехов в дальнейшем.

    Добавлено спустя 34 секунды:
    ЗЫ. дизайн сами верстали? )))