|
|
|
| Подскажите пожалуйста, почему удаление тем не срабатывает, выдает ошибку:
Warning: Cannot modify header information - headers already sent by (output started at Z:\home\localhost\www\for\dmn\system_liteforum\del.php:7) in Z:\home\localhost\www\for\dmn\utils\security_mod.php on line 9
Warning: Cannot modify header information - headers already sent by (output started at Z:\home\localhost\www\for\dmn\system_liteforum\del.php:7) in Z:\home\localhost\www\for\dmn\utils\security_mod.php on line 10
<?php
////////////////////////////////////////////////////////////
// 2006-2008 (C) IT-студия SoftTime (http://www.softtime.ru)
////////////////////////////////////////////////////////////
// Выставляем уровень обработки ошибок
// (http://www.softtime.ru/info/articlephp.php?id_article=23)
error_reporting(E_ALL & ~E_NOTICE);
// Устанавливаем соединение с базой данных
require_once("config.php");
// Подключаем SoftTime FrameWork
require_once("../../config/class.config.dmn.php");
// Подключаем блок авторизации
require_once("../utils/security_mod.php");
try
{
$query = "SELECT * FROM $tbl_themes
WHERE `time` < NOW() - INTERVAL 1 YEAR";
$thm = mysql_query($query);
if(!$thm)
{
throw new ExceptionMySQL(mysql_error(),
$query,
"Ошибка при удалении сообщений форума");
}
$arr = array();
if(mysql_num_rows($thm))
{
while($them = mysql_fetch_array($thm))
{
$arr[] = $them['id_theme'];
}
}
// Запрашиваем все сообщения, для удаления вложений
$query = "SELECT * FROM $tbl_posts
WHERE id_theme IN (".implode(",", $arr).")";
$pst = mysql_query($query);
if(!$pst)
{
throw new ExceptionMySQL(mysql_error(),
$query,
"Ошибка извлечения сообщений");
}
if(mysql_num_rows($pst))
{
while($posts = mysql_fetch_array($pst))
{
// Удаляем прикрпелённые файлы
@unlink("../../forum/".$posts['putfile']);
}
}
// Удаляем сообщения
$query = "DELETE FROM $tbl_posts
WHERE id_theme IN (".implode(",", $arr).")";
if(!mysql_query($query))
{
throw new ExceptionMySQL(mysql_error(),
$query,
"Ошибка удаления сообщений");
}
// Удаляем сообщения
$query = "DELETE FROM $tbl_themes
WHERE id_theme IN (".implode(",", $arr).")";
if(!mysql_query($query))
{
throw new ExceptionMySQL(mysql_error(),
$query,
"Ошибка удаления темы");
}
}
catch(ExceptionObject $exc)
{
require("../utils/exception_object.php");
}
catch(ExceptionMySQL $exc)
{
require("../utils/exception_mysql.php");
}
catch(ExceptionMember $exc)
{
require("../utils/exception_member.php");
}
?>
|
| |
|
|
|
|
|
|
|
для: kak
(09.04.2008 в 14:45)
| | Куки, сессии, отправка заголовков должны происходить до отправки любой информации в окно браузера, т.е. до любого вывода echo, print или непосредственного вывода вне тэгов <?php и ?>. Это связано с тем, что HTTP-заголовки передаются перед всеми данными и когда происходит вывод в окно браузера PHP вынужден их пред этим отослать клиенту. Поэтому повторно, после вывода информации в браузер он не может работать с куками, сессиями и отправлять заголовки.
Если вывод текста до отправки заголовков необходим следует воспользоваться функциями управления вывода, позволяющих задерживать вывод информации в браузер.
http://www.softtime.ru/group/id_group=12 | |
|
|
|
|
|
|
|
для: mihdan
(09.04.2008 в 15:54)
| | Нельзя ли попроще?
Я так и не понял, что нужно сделать : ) | |
|
|
|
|
|
|
|
для: kak
(09.04.2008 в 17:17)
| | > Warning: Cannot modify header information - headers already sent by (output started at Z:\home\localhost\www\for\dmn\system_liteforum\del.php:7) in Z:\home\localhost\www\for\dmn\utils\security_mod.php on line 9 ......
А Вы точно уверены, что в каталоге dmn\system_liteforum\ есть скрипт del.php? Если честно, то я не нашел такого в выложеном архиве. Есть athdel.php, lnkdel.php, и т.д.
Возможно поэтому HEADER() из dmn\utils\security_mod.php и не может Вам выдать "HTTP/1.0 401 Unauthorized", т.к интерпретатор уже в браузер ругнулся что нет оного скрипта. | |
|
|
|
|
|
|
|
для: vitali
(09.04.2008 в 18:05)
| | >> А Вы точно уверены, что в каталоге dmn\system_liteforum\ есть скрипт del.php? Если честно, то я не нашел такого
Правильно его там нет.
Я его туды сам положил. Игорь Вячеславович подсказал.
Все, вроде работало, потом что-то глючить стало.
Самое интересное я разными браузерами пробовал, эффект не у всех одинаковый.
В опере получилось однажды потом и в опере такую ошибку стало выдавать.
Вот еще, не пойму по моему с выкл. Java Script тоже скрипт не работает.
Пока не "пашет"... | |
|
|
|
|
|
|
|
для: kak
(09.04.2008 в 14:45)
| | 7 строка чему соответствует в файле del.php? | |
|
|
|
|
|
|
|
для: cheops
(10.04.2008 в 12:15)
| | Ой, в 7 строке </head>
Чет я по ходу крутанул ни туды и редактор сверху meta теги воткнул и т.п.
Сейчас вот убрал все до <?php. И в 7 строчке вот такая надпись: error_reporting(E_ALL & ~E_NOTICE);
И вроде, как все закрутилось, заработало.
Никак из-за этого, что ли такая проблемка была или нет? | |
|
|
|
|
|
|
|
для: kak
(10.04.2008 в 15:21)
| | Да. Так как куки, сессии, отправка заголовков должны происходить до отправки любой информации в окно браузера, т.е. до любого вывода echo, print или непосредственного вывода вне тэгов <?php и ?>. | |
|
|
|
|
|
|
|
для: mihdan
(10.04.2008 в 15:37)
| | Спасибочки.
А я Вас сразу и не понял. Думаю про что это Вы? | |
|
|
|
|
|
|
|
для: cheops
(10.04.2008 в 12:15)
| | Спасибо за подсказку. | |
|
|
|