вопрос
Всем привет! Снов появляются ошибки в условии if. Сразу к делу. Вот код
Проблема в том, что
работает не правильно. Причина в том, что (к каждой строчке кода есть комментарии), если тянуть данные из таблицы PREFIX_photos - все работает правильно, но как только данные тянутся из PREFIX_attach, js-скрипт выполняется свою работу, но php не удаляет комментарий - т.е. он остается после обновления страницы. Если удалить
Не могу понять из-за чего проблема, что в коде не так?
case "delcomm":
$id = intval($_POST['id']);
$purl = $db->safesql(totranslit($_POST['purl']));
//Выводим данные о комментариии
$row = $db->super_query("SELECT tb1.forphoto, auser_id, tb2.ouser_id FROM `".PREFIX."_attach_comm` tb1, `".PREFIX."_attach` tb2 WHERE tb1.id = '{$id}' AND tb1.forphoto = '{$purl}'");
$tab_photos = false;
//Если нет фотки в таблице PREFIX_attach то проверяем в таблице PREFIX_photos
if(!$row){
//Проверка в таблице PREFIX_photos
$row_photos = $db->super_query("SELECT tb1.pid, owner_id, tb2.user_id FROM `".PREFIX."_photos_comments` tb1, `".PREFIX."_photos` tb2 WHERE tb1.id = '{$id}' AND tb1.photo_name = '{$purl}'");
$tab_photos = true;
$row['auser_id'] = $row_photos['owner_id'];
$row['ouser_id'] = $row_photos['user_id'];
$row['pid'] = $row_photos['pid'];
}
if($row['ouser_id'] == $user_id OR $row['auser_id'] == $user_id){
//Если нет фотки в таблице PREFIX_attach то проверяем в таблице PREFIX_photos
if($tab_photos){
$db->query("DELETE FROM `".PREFIX."_photos_comments` WHERE id = '{$id}'");
$db->query("UPDATE `".PREFIX."_photos` SET comm_num = comm_num-1 WHERE id = '{$row['pid']}'");
$row2 = $db->super_query("SELECT album_id FROM `".PREFIX."_photos` WHERE id = '{$row['pid']}'");
$db->query("UPDATE `".PREFIX."_albums` SET comm_num = comm_num-1 WHERE aid = '{$row2['album_id']}'");
} else {
//Обновляем кол-во комментов
$db->query("UPDATE `".PREFIX."_attach` SET acomm_num = acomm_num-1 WHERE photo = '{$row['forphoto']}'");
//Удаляем комментарий
$db->query("DELETE FROM `".PREFIX."_attach_comm` WHERE forphoto = '{$row['forphoto']}' AND id = '{$id}'");
}
}
break;
Проблема в том, что
if($row['ouser_id'] == $user_id OR $row['auser_id'] == $user_id)
работает не правильно. Причина в том, что (к каждой строчке кода есть комментарии), если тянуть данные из таблицы PREFIX_photos - все работает правильно, но как только данные тянутся из PREFIX_attach, js-скрипт выполняется свою работу, но php не удаляет комментарий - т.е. он остается после обновления страницы. Если удалить
if($row['ouser_id'] == $user_id OR $row['auser_id'] == $user_id)
все работает, пробовал уже много вариантов - но все без успешно. $user_id - это id пользователя который обращается к скрипту. Он работает правильно, так как в этом же файле есть строчки добавления комментария - и они работают с участием $user_id правильно. Суть кода в том, что комментарий может удалить или автор комментария или автор прикрепленной картинки. Так вот автор комментария - спокойно удаляет свой коммент, а автор "поста"(картинки) не может удалить чужой коммент, но идея в том,что он должен иметь возможность удалить.Не могу понять из-за чего проблема, что в коде не так?