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

Форум PHP

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

 

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

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

тема: Cannot modify header information
 
 автор: 70-й_регион   (11.10.2005 в 16:10)   письмо автору
 
 

Всем привет помогите исправить ошибку для странички администрации.
Захожу под паролем и логином показывает ошибку

Warning: Cannot modify header information - headers already sent by (output started at z:\home\localhost\www\test\php\www\gos\admin\index.php:11) in z:\home\localhost\www\test\php\www\gos\admin\config.php on line 28

Warning: Cannot modify header information - headers already sent by (output started at z:\home\localhost\www\test\php\www\gos\admin\index.php:11) in z:\home\localhost\www\test\php\www\gos\admin\config.php on line 29


Вот коды

index.php


<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">

<link rel="StyleSheet" type="text/css" href="admin.css">
</head>
<body leftmargin="0" marginheight="0" marginwidth="0" rightmargin="0" bottommargin="0" topmargin="0" >
<table class=topadmin border="0" cellspacing="9">
    <tr align="center">
        <td width="10%">&nbsp;</td>
        <td><p><a href="../index.php" class=link title="Вернуться в гостевую книгу">Гостевая книга</b></a></td>
        <td><p><a href="../../index.htm" class=link title="Вернуться на головную страницу сайта" >Вернуться на главную страницу сайта</b></a></td>
        <td width="50">&nbsp;</td>
    </tr>
</table>
<table border="0" cellpadding="0" cellspacing="20" >
    <tr valign="top">
        <td><nobr><h1 class=z1><? echo $titlepage ?></h1></nobr></td>
        <td><p class=help><? echo $helppage ?></p></td>
    </tr>
</table>
<table width=100%><tr><td width=10%>&nbsp;</td><td>
<?php
 
include "config.php";
 include 
"aup.php";
   
// Стартовая точка


  
if (empty($start)) $start 0;
  
$start intval($start);
  if (
$start 0$start 0;
  
$pnumber=10;
  
// Запрашиваем общее число сообщений
  
$tot mysql_query("SELECT count(*) FROM guest;");
  
// Запрашиваем сами сообщения
  
$gst mysql_query("SELECT * FROM guest ORDER BY puttime DESC LIMIT $start$pnumber;");
  if (
$gst && $tot)
  {
   while(
$guest mysql_fetch_array($gst))
  {


    if(
$guest['hide'] == 'show'$showhide "<a class='menu' href=hide.php?id_msg=".$guest['id_msg']."&start=$start title='Скрыть сообщение из списка выводимых на сайте'>Скрыть сообщение</a>";
    else {
       
$showhide "<a class='menu' href=show.php?id_msg=".$guest['id_msg']."&start=$start title='Включить отображение сообщения на сайте'>Отобразить сообщение</a>";
       
$tableheader "class=tableheaderhide";
  }


 echo
"<p>";
  echo
"<table class=bodytable width=100% border=1 cellpadding=5 cellspacing=0 bordercolorlight=gray bordercolordark=white>";
          echo
"<tr <? echo $tableheader ?>   ";
          echo
"<td><p class=help>Автор сообщения</td> ";
            echo
"<td width=100><p class=help>Дата отправки</td> ";
            echo
"</tr>";

    echo 
"<tr><td><p class=zag2>".$guest['name']."</td>";
    echo 
"<td><p class=help>".$guest['puttime']."</td>";
    echo 
"<tr valign=top><td><p class=zag2>Сообщение:</td><td colspan=5><p>".$guest['msg']."</td></tr>";
    echo 
"<tr><td><p class=zag2>Администратор:</td><td colspan=5><p>".$guest['answer']."</td></tr>";
    echo 
"</table>";
    
// Ссылка на редактирование и ответ
    
echo "<p class='menu'><a class='menu' href=editcommentform.php?id_msg=".$guest['id_msg']."&start=$start title='Редактировать сообщение'>Редактировать</a>";
    
// Ссылка на правку сообщений
    
echo "&nbsp;&nbsp;".$showhide;
    
// Ссылка на удаление сообщений
    
echo "&nbsp;&nbsp;<a class='menu' href=delpost.php?id_msg=".$guest['id_msg']."&start=$start title='Удалить сообщение'>Удалить сообщение</a>";
    echo 
"</p>";
  }
  
// Выводим ссылки на предыдущие и следующие сообщения
  
$total mysql_fetch_array($tot);
  
$count $total['count(*)'];
  if (
$start 0)  print " <p><A href=index.php?start=".($start $pnumber).">Предыдущие сообщения</A> ";
  if (
$count $start $pnumber)  print " <p><A href=index.php?start=".($start $pnumber).">Следующие сообщения</A> \n";
  }
  else 
puterror("Ошибка при обращении к гостевой книге");
 
?>


aup.php


<?
include_once "config.php";

$admin_auth false;

if ( (@
$PHP_ADMIN_USER) && ((@$PHP_ADMIN_PW)||(@$PHP_ADMIN_MD5PW) )) {

    if(@
$PHP_ADMIN_MD5PW){
       
$query "SELECT * FROM admin WHERE user = '$PHP_ADMIN_USER' AND pass = '$PHP_ADMIN_MD5PW'";
       
$result mysql_query($query);
       
$rowmysql_fetch_array($result);
    }

    if(!@
$row){
       
$PHP_ADMIN_MD5PWmd5(@$PHP_ADMIN_PW);
       
$query "SELECT * FROM admin WHERE user = '$PHP_ADMIN_USER' AND pass = '$PHP_ADMIN_MD5PW'";
       
$result mysql_query($query);
       
$rowmysql_fetch_array($result);
    }

    if ( 
$row ) {
        
// A matching row was found - the admin is authenticated.
        
$admin_auth true;

         
setallcookie($PHP_ADMIN_USER,$PHP_ADMIN_MD5PW);


    }


}


if ( !
$admin_auth ) {
echo 
"<html>
<head>
</head>
<body >

<form method=\"post\" action=\""
.basename($_SERVER['PHP_SELF'])."\">
<table border=\"0\" cellspacing=\"1\" cellpadding=\"0\" width=\"435\" height=\"315\" background=\"../images/scroll.png\">
<tr>
<td colspan=\"2\" align=center>

<table cellspacing=0 cellpadding=0 border=0>


<td align=right><font color=#000000><strong>Логин: &nbsp</strong></font></td>
<td><input name=\"PHP_ADMIN_USER\" type=\"text\"></td>
</tr>
<tr>
<td align=right><font color=#000000><strong>Пароль: &nbsp</strong></font></td>
<td><input name=\"PHP_ADMIN_PW\" type=\"password\"></td>
</tr>
</table>
<br>
<input type=\"submit\" value=\"Login\">
</td>
</tr>
</table>
</form>
</body>
</html>"
;
exit;
}
?>


config.php



<?php

  $dblocation 
"localhost";
  
$dbname "school5";
  
$dbuser "root";
  
$dbpasswd "";




  
$dbcnx = @mysql_connect($dblocation,$dbuser,$dbpasswd);
  if (!
$dbcnx)
  {
    echo( 
"<P>В настоящий момент сервер базы данных не доступен, поэтому корректное отображение страницы невозможно.</P>" );
    exit();
  }
  
// Выбираем базу данных
  
if (! @mysql_select_db($dbname,$dbcnx) )
  {
    echo( 
"<P>В настоящий момент база данных не доступна, поэтому корректное отображение страницы невозможно.</P>" );
    exit();
  }



  function 
setallcookie($php_ADMIN_USER,$php_ADMIN_MD5PW)
    {
    
setcookie("php_ADMIN_USER",$php_ADMIN_USER,time()+3600*24*2);
    
setcookie("php_ADMIN_MD5PW",$php_ADMIN_MD5PW,time()+3600*24*2);
    }
 
// function cleanallcookie()
  //{

      //setcookie("PHP_ADMIN_USER","");
  //    setcookie("PHP_ADMIN_MD5PW","");
 // }
  
function puterror($message)
  {
    echo(
"<p>$message</p>");
    exit();
  }
?>

   
 
 автор: Zenden   (11.10.2005 в 19:45)   письмо автору
 
   для: 70-й_регион   (11.10.2005 в 16:10)
 

Всё очень просто (Понятно из описания ошибки!) для установок Cookie требуется послать заголовки серверу, а они у тебя уже посланы в Index.php!

Краткий совет: просто перепиши index.php без использования html, или ещё как-нибудь обойди этот момент (:

   
 
 автор: cheops   (11.10.2005 в 23:23)   письмо автору
 
   для: 70-й_регион   (11.10.2005 в 16:10)
 

Куки, сессии, отправка заголовков должны происходить до отправки любой информации в окно браузера, т.е. до любого вывода echo, print или непосредственного вывода вне тэгов <?php и ?>. Это связано с тем, что HTTP-заголовки передаются перед всеми данными и когда происходит вывод в окно браузера PHP вынужден их пред этим отослать клиенту. Поэтому повторно, после вывода информации в браузер он не может работать с куками, сессиями и отправлять заголовки.
Если вывод текста до отправки заголовков необходим следует воспользоваться функциями управления вывода, позволяющих задерживать вывод информации в браузер.

http://www.softtime.ru/group/id_group=12

   
Rambler's Top100
вверх

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