Ошибка вверхнем углу

Ответить
Аватара пользователя
Евгений
Сообщения: 215
Зарегистрирован: 01.01.2010
Ребята подскажите :

Код: Выделить всё

Warning: Cannot modify header information - headers already sent by (output started at /home/k/index.php:30) in /home/k/index.php on line 134
Строка выглядит вот так :
<?
exit;
}

switch (@$_GET['d'])
{
case "add":
if (empty($_POST['url']))
break;

if (isset($_POST['country'])) $_POST['country'] = strtoupper($_POST['country']);

$sql = "INSERT INTO `files`
(`url`, `dnum`, `country`)
VALUES
('{$_POST['url']}', '".intval($_POST['dnum'])."', '{$_POST['country']}')
";

mysql_query($sql);
header ("location: index.php");
break;

case "del":
if (!isset($_GET['id']))
break;

$sql = "DELETE FROM `files` WHERE `id`='{$_GET['id']}'";
mysql_query($sql);
header ("location: index.php");
break;
}

if (isset($_POST['opt']))
{
if (!isset($_POST['opt']['spoof_ip']))
$_POST['opt']['spoof_ip'] = 0;

foreach (array_keys($_POST['opt']) as $k)
mysql_query("REPLACE INTO `opt` (`name`, `value`) VALUES ('$k', '{$_POST['opt'][$k]}')");

134: header("location: index.php");
}

$bopt = array();

$r = mysql_query("SELECT * FROM `opt`");
while ($f = mysql_fetch_array($r))
$bopt[$f['name']] = $f['value'];

?>
Кто не работает - тот школота©

Аватара пользователя
Distructor
Администратор
Сообщения: 1607
Зарегистрирован: 28.12.2009
output started at /home/k/index.php:30

Аватара пользователя
Евгений
Сообщения: 215
Зарегистрирован: 01.01.2010
index.php:30

Код: Выделить всё

<STYLE type=text/css>
-- добавлено 12 фев 2011, 23:05 --

Вложения
1.JPG
Кто не работает - тот школота©

Аватара пользователя
AgentSIB
Сообщения: 329
Зарегистрирован: 17.05.2010
Нельзя объявлять заголовок, если уже идет вывод. Либо используй буферизацию вывода, либо выполняй операции с заголовками непосредственно до вывода информации.
Frustra fit per plura quod potest fieri per pauciora © Закон "Бритвы Оккама"

Аватара пользователя
Евгений
Сообщения: 215
Зарегистрирован: 01.01.2010
AgentSIB
Не понял?)
Можно просто эти сроки удалить - header("location: index.php"); ???
На компьютере хорошо работает это windows ,а вот на linux поставил и это увидел.
Кто не работает - тот школота©

Аватара пользователя
AgentSIB
Сообщения: 329
Зарегистрирован: 17.05.2010
Возможно на винде у тебя просто отключен вывод ошибок. Эти заголовки отвечают за редирект по окончанию операции. Пришли исходник файла index.php.
Frustra fit per plura quod potest fieri per pauciora © Закон "Бритвы Оккама"

Аватара пользователя
Евгений
Сообщения: 215
Зарегистрирован: 01.01.2010
Вот весь фаил :)
Вложения
index.rar    2.5 КБ • 101 скачивание
Кто не работает - тот школота©

Аватара пользователя
AgentSIB
Сообщения: 329
Зарегистрирован: 17.05.2010
Хм... Грязноватенько, ну да ладно. Вот так попробуй.
Вложения
index.php.rar    2.5 КБ • 68 скачиваний
Frustra fit per plura quod potest fieri per pauciora © Закон "Бритвы Оккама"

Аватара пользователя
Евгений
Сообщения: 215
Зарегистрирован: 01.01.2010
Вроди как часы )))
Спасибо!
Кто не работает - тот школота©

Аватара пользователя
AgentSIB
Сообщения: 329
Зарегистрирован: 17.05.2010
Совет кстати тебе на вооружение:

Код: Выделить всё

<script>
function wnd( url )
{
        window.open( url, "", "statusbar=no,menubar=no,toolbar=no,scrollbars=yes,resizable=no,width=600,height=400");
}
</script>
Лучше так

Код: Выделить всё

<script>
function wnd( url )
{
        var win=window.open( url, "somename", "statusbar=no,menubar=no,toolbar=no,scrollbars=yes,resizable=no,width=600,height=400");
        win.focus();
}
</script>
Во первых, если задавать имя, то окно не будет открываться повторно (второй параметр). Это будет его идентификатор. А во вторых, окно будет окно будет намеренно выбрасываться вперед при использовании функции фокуса.
Frustra fit per plura quod potest fieri per pauciora © Закон "Бритвы Оккама"

Ответить