Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Warning: Cannot modify header information - headers already sent by
 
 автор: Andrex   (26.09.2008 в 15:50)   письмо автору
 
 

привет всем! я учу PHP наткнулся на проблему:

<?php

        $link_id 
mysql_connect("localhost" ,"yandex" "30903ac4fc07a7fe3d6");
    
$result mysql_db_query("yandex" "show tables");


        
$num $_POST['num'];
        
mysql_query("DELETE FROM food WHERE num='$num'");


    
header("Location: 'shop.php'");
?>

ссылаюсь сюда из:

echo "<td width = '20%'>" . $inc .
                             "</td><td width = '20%'>" . $query_data[1] .
                             "</td><td width = '20%'>" . $query_data[2] .
                             "</td><td width = '20%'>" . $query_data[3] .
                             "</td><td width = '5%'>
                             <form action='del_button.php' method='POST'>

                             <input type='hidden' name='num' value='{$query_data[0]}'>
                             <input type='image' src='del_small_1.JPG'>

                             </form>" .
                             "</td>";
                        echo "</tr>";

пишет ошибку: Warning: Cannot modify header information - headers already sent by... на строчке header("Location: 'shop.php'"); из 1 блока.
еси кто знает в чём дело - помогите плиз

P.S. 1 блок кода и есть сам файл, там больше нет ни php ни html кода

  Ответить  
 
 автор: ddhvvn   (26.09.2008 в 15:58)   письмо автору
 
   для: Andrex   (26.09.2008 в 15:50)
 

Отправка заголовков (т.е. установка cookie, переадресация и т.п.) должна выполняться в первую очередь, до отправки данных.
Это во-первых...

А во вторых, поправьте меня, если я не прав - первый кусок кода из одного скрипта, а второй - из другого (и надо полагать shop.php) ?

А еще лучше напишите, что Вы хотите сделать? Может Вам надо
include("shop.php");

вместо "header("Location..." ?

  Ответить  
 
 автор: mihdan   (26.09.2008 в 17:36)   письмо автору
 
   для: Andrex   (26.09.2008 в 15:50)
 

Не меняя код можно включить буферизацию, либо вместо header использовать meta-тег <meta>
<?php 
ob_start
();
        
$link_id mysql_connect("localhost" ,"yandex" "30903ac4fc07a7fe3d6"); 
    
$result mysql_db_query("yandex" "show tables"); 


        
$num $_POST['num']; 
        
mysql_query("DELETE FROM food WHERE num='$num'"); 


    
header("Location: 'shop.php'"); 
?>

  Ответить  
 
 автор: Andrex   (29.09.2008 в 11:57)   письмо автору
 
   для: mihdan   (26.09.2008 в 17:36)
 

ob_start(); 

ничего не решил, а вот добавив
 <meta>

я не решил проблему, а обошёл её, что в этом случае не имеет отличий, спасибо большое)

  Ответить  
 
 автор: sim5   (29.09.2008 в 12:05)   письмо автору
 
   для: Andrex   (29.09.2008 в 11:57)
 

Вы не обошли, а выбрали бесконфликнтый вариант. Читайте сообщение от ddhwn, в нем причина ошибки вашей.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования