@Vlady911

Почему Удаляются записи из БД, ООП, php?

Всем привет, вынужден обратиться сюда. На php уже лет 5 но такое впервые.
Суть.
Есть комната переговоров, как только в нее заходит пользователь, добавляем запись в таблицу комнат - room, что человек появился, как только вышел из нее, удаляем. На локальном серваке все норм, на глобальном сбой.

C_Base - в нем удаляется запись, как только пользователь покинул комнату:
$this->go_to_back_one_stap = explode('.ru', $_SERVER['HTTP_REFERER']);
if($this->last_page_from_bd["link"] == $this->go_to_back_one_stap[1])
M_Room::Instance()->delete_room_by_user($this->user['id_user'], $this->last_page_from_bd["link"]);


Далее:
class C_Room extends C_Base в котором
if(!M_Room::Instance()->get_by_user($id_magaz, $_SERVER['REQUEST_URI'])){
M_Room::Instance()->add_room($id_magaz, $_SERVER['REQUEST_URI']);
}


var_dump(M_Room::Instance()->get_by_user($id_magaz, $_SERVER['REQUEST_URI']))
возвращает, что запись создалась, но на стороне пользователя инфы нет и в самой БД запись не происходит. Точнее происходит, а потом тут же удаляется.

Если убрать удаление из C_Base то значения в таблице появляются, но удаление нужно и переместить уже некуда.

Удаление происходит только в одном месте, поверьте на слово.

Главное - почему на локалке все норм, а на глобальном такая история?

ВАЖНО: Сама функция удаления нигде не вызывается, но удаление происходит, как будто ид таблицы является внешним ключом для другой, которая чистится каждую секунду, но нет такого.

Почему такое происходит?
  • Вопрос задан
  • 130 просмотров
Пригласить эксперта
Ответы на вопрос 2
@alexalexes
... на глобальном сбой.

Вероятно, нужно докопаться до текста ошибки, чтобы понять, в чем дело?
Но можно предположить, что от места выполнения у вас чувствительна вот эта строчка:
$this->go_to_back_one_stap = explode('.ru', $_SERVER['HTTP_REFERER']);

Выведите в отладочный файл значение $_SERVER['HTTP_REFERER'] на боевом окружении и посмотрите, то ли вы ожидаете в ней значение, чтобы разделить ее по '.ru' и взять элемент с индексом 1.
Ответ написан
@Vlady911 Автор вопроса
Важно! запись в таблице создается, но после вывода шаблона с переменными исчезает. В таблице получается +1 к автоинкрементированному id.

Если убрать из родительского контроллера удаление:
M_Room::Instance()->delete_room_by_user($this->user['id_user'], $this->last_page_from_bd["link"]);
то все норм. Но удалять надо.

Проверка не помогает:
if($this->last_page_from_bd["link"] == $this->go_to_back_one_stap[1])

Проверка корректная, проверено.

На локальном сервере все работает - почему?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы