Warning: Cannot modify header information - headers already sent by на 12 строчке ( header( 'Refresh: 6; url=http://localhost/menu.php' ); )
<?php
include 'config.php';
$id = $_REQUEST['id'];
If (empty($id)) {
$result=mysql_query("DELETE FROM post WHERE ID=".$id) or die(mysql_error());
mysql_close($connect_to_db);
echo '<center>Через 5 секунд вы будете автоматически перенаправленны на главную страницу</center>';
header( 'Refresh: 6; url=http://localhost/' );
}else{
echo '<center>Ошибка, не выбранна статья для удаления</center>';
header( 'Refresh: 6; url=http://localhost/menu.php' );
}
?>
sz47181
6.10.2014 - 18:11
Елена Перед хедером нельзя делать echo.
Цитата (Елена @ 6.10.2014 - 17:00) |
headers already sent |
У нас десятки, а может быть даже сотни одинаковых тем с таким вопросом. Поиск по заголовкам тем найдёт.
Но проблема не только с редиректом, проблема, похоже и с логикой скрипта:
Цитата (Елена @ 6.10.2014 - 17:00) |
If (empty($id)) { $result=mysql_query("DELETE FROM post WHERE ID=".$id) or die(mysql_error()); |
Читаю вслух: если значение переменной $id пустое, то удалить строку с этим (пустым) значением.
_____________
Бесплатному сыру в дырки не заглядывают...
Цитата (FatCat @ 6.10.2014 - 18:13) |
Цитата (Елена @ 6.10.2014 - 17:00) | headers already sent |
У нас десятки, а может быть даже сотни одинаковых тем с таким вопросом. Поиск по заголовкам тем найдёт. Но проблема не только с редиректом, проблема, похоже и с логикой скрипта:
Цитата (Елена @ 6.10.2014 - 17:00) | If (empty($id)) { $result=mysql_query("DELETE FROM post WHERE ID=".$id) or die(mysql_error()); |
Читаю вслух: если значение переменной $id пустое, то удалить строку с этим (пустым) значением.
|
Спасибо, сейчас как раз исправлю
Цитата (Елена @ 6.10.2014 - 17:57) |
исправлю |
Я бы исправил так:
1. Вместо
$id = $_REQUEST['id'];
$id = intval($_REQUEST['id']);
2. Вместо
If (empty($id)) {
If ($id) {
Заодно и какая-никакая защита БД от инъекции.
_____________
Бесплатному сыру в дырки не заглядывают...
Полазила по форуму, но не смогла найти решение своей проблемы, помогите пожалуйста. Cannot modify header information - headers already sent на 8 строчки.
<?php
include 'config.php';
$id = $id = intval($_REQUEST['id']);
If ($id) {
$result=mysql_query("DELETE FROM post WHERE ID=".$id) or die(mysql_error());
mysql_close($connect_to_db);
header( 'Refresh: 6; url=http://localhost/' );
}else{
header( 'Refresh: 6; url=http://localhost/error/delpage.php' );
}
?>
Или перед <?php есть символы (пробел или еще что), или в файле config.php где-то есть вывод в браузер.
_____________
Бесплатному сыру в дырки не заглядывают...
ЕленаОчень помогает код ошибки. А главное, там в скобках пишут где именно начался ВЫВОД. Если строчка 1, то это, скорее всего, UTF-8 with BOM, надо сохранить without. А может ещё что.
_____________
Обучаю веб-программированию качественно и не дорого:
http://school-php.comФрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Цитата (FatCat @ 7.10.2014 - 23:24) |
Или перед <?php есть символы (пробел или еще что), или в файле config.php где-то есть вывод в браузер. |
Перед <?php ни каких пробелов и символов нет.
Вот файл config.php
<?php
$db_host = 'localhost';
$db_name = 'name';
$db_username = 'user';
$db_password = 'pass';
$connect_to_db = mysql_connect($db_host, $db_username, $db_password)
or die("Не удалось подключиться: " . mysql_error());
mysql_select_db($db_name, $connect_to_db)
or die("Не удалось выбрать БД: " . mysql_error());
?>
sz47181
8.10.2014 - 16:06
Елена Посмотрите файл в какой кодировке сохранен.
Спасибо все решила, наконец-то.
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.