Cannot modify headers information

Обсуждение серверного программирования.

Модераторы: Duncon, Yurich

Ответить
Romario
Сообщения: 3
Зарегистрирован: 16 ноя 2005, 00:53

Помогите плиз разобраться с этой проблемой, из-за чего появляется врубаюсь, судя из ошибки, но как организовать логику вывода, чтобы не появлялась ошибка не понимаю.. У меня все посл. выводится. Вот код:

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

        <!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
        <html>
        <head>
        <meta http-equiv='Content-Type' content='text/html; charset=windows-1251'>
        <title> C H E C K </title>
        <style>
        body, td, select, input, textarea {
        font-family: Verdana, Arial, sans-serif;
        font-size: 10px;
        color: #000000;
        }
        </style></head>

<?php

  // S E T T I N G S

  $base_file = "base.dat";

  //

  Error_Reporting(E_ALL & ~E_NOTICE);

  if ( (!isset($_POST['mod'])) && (!isset($_GET['mod'])) )
   $mod = "start";
  elseif (isset($_POST['mod']))
   $mod = $_POST['mod'];
  else
   $mod = $_GET['mod'];

  if ($mod == "start")
  {
  ?>

          <body>
          <form name='form1' method='post' action='zakaz.php'>
          <table width='40%' cellpadding='1' cellspacing='0' style='border: 1px solid #000000;'>
          <tr>
          <td width='40%'><div align='right'>Логин:</div></td>
          <td><div align='center'>
          <input name='login' type='text' id='login'>
          </div></td>
          </tr>
          <tr>
          <td width='40%'><div align='right'>Пасс:</div></td>
          <td><div align='center'>
          <input name='pass' type='text' id='pass'>
          </div></td>
          </tr>
          <tr>
          <td colspan='2'><div align='center'>
          <input name='Enter' type='submit' id='Enter' value='Submit'>
          <input type='hidden' name='mod' value='check'>
          </div></td>
          </tr>
          </table>
          </form>

          <?php if (isset($error['mail'])) print "Error!"; ?>
          </body>

  <?php
  }
  elseif ($mod == "check")
  {
      if ((trim($_POST["login"]) == "") || (trim($_POST["login"]) == ""))
      {
           header( "Location: " . $_SERVER["SCRIPT_NAME"]);
           $e_flag = true;
      }
      else
Строка header( "Location: " . $_SERVER["SCRIPT_NAME"]); не позволяет перенапривить скрипт... Хелп ((
Аватара пользователя
AiK
Сообщения: 2287
Зарегистрирован: 13 фев 2004, 18:14
Откуда: СПб
Контактная информация:

Все заголовки ответа сервера должны быть отправлены ДО тела ответа сервера, а не ПОСЛЕ, как у тебя.
Даже самый дурацкий замысел можно воплотить мастерски
Romario
Сообщения: 3
Зарегистрирован: 16 ноя 2005, 00:53

это я понял, но как это реализовать? ( Если не трудно плиз переделайте этот пример правильно.. наглядно я сразу пойму. Заранее спасибо! =)
Аватара пользователя
AiK
Сообщения: 2287
Зарегистрирован: 13 фев 2004, 18:14
Откуда: СПб
Контактная информация:

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

<?
    if ( (!isset($_POST['mod'])) && (!isset($_GET['mod'])) ) {
        $mod = "start"; 
    }elseif ( isset($_POST['mod']) ){
        $mod = $_POST['mod']; 
    }else{ 
        $mod = $_GET['mod']; 
    }

    if ($mod == "check"){ 
      if ((trim($_POST["login"]) == "") || (trim($_POST["login"]) == "")){ 
           header( "Location: " . $_SERVER["SCRIPT_NAME"]); 
           $e_flag = true; 
      } 
    }elseif ($mod == "start"){ 
        ...
    }
?>
Даже самый дурацкий замысел можно воплотить мастерски
Romario
Сообщения: 3
Зарегистрирован: 16 ноя 2005, 00:53

AiK, а с html'ем можно )) не могу понять как его дальше выводить, он ведь выводится по условию... $mod == "check"
Аватара пользователя
AiK
Сообщения: 2287
Зарегистрирован: 13 фев 2004, 18:14
Откуда: СПб
Контактная информация:

Да, тебе палец в рот не клади :)

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

<?
if (1==1){
?>
истина
<?
}else{
?>
ложь
<?
}
?>
Даже самый дурацкий замысел можно воплотить мастерски
Ответить