Проблемы с редиректом

aaachilov

Новичок
Приветствую!
Вот сегодня мучался с доступом в админ панель
Решил сделать чтоб была стрница авторизации и в случае выполнения всех условий нас перенаправляло на страницу с админпанелью.
Но при выполнении всех параметров программа ругается что она не может перенаправить заголовок сраницы
Warning: Cannot modify header information - headers already sent by (output started at X:\home\forum\www\loginadmin.php:1) in X:\home\forum\www\loginadmin.php on line 77
Часа 2 уже сижу - перепробывал множество вариантов
если вместо перенаправления вывести напрмиер полученный результат - то все рабтает - но с пернаправлением порблеммы.
Буду очень благодарен за помощь!

Вот код страницы с которой нужно попадать в админ панель

PHP:
<form  method="post">
<div id="loginform">
  <table>
    <tr>
      <td>Логин</td>
      <td><input type="text" name="UName" /></td>
    </tr>
    <tr>
      <td>Пароль</td>
      <td><input type="password" name="UPSW" /></td>
    </tr>
  </table>
  <span style="padding-left:70px;">
  <input type="submit" value="Вход">
  <input type="reset" value="Очистить">
  </span>
  </div>
  </form>

<?php
// Задаём значение переменных 
  $UName = $_POST['UName'];
  $UPSW = $_POST['UPSW'];
  $UGroup = 4;
  $UNoux = 'Запоните нужные поля!<br/>';
  $UNamex = 'Вы не ввели логин!<br/>';
  $UPSWx = 'Вы не ввели пароль!<br/>';
   
// проверяем наличие информации в переменных $UName и $UPSW
if ((!$UName) && (!$UPSW)) {
     echo "$UNoux";	 
	 exit();
	 };
if (!$UName) {
     echo "$UNamex";
	 exit();
	 };
if (!$UPSW) {
     echo "$UPSWx";
	 exit();
	 };   
			
	 // Подключаемся к базе данных
if (!$link = mysql_connect('localhost', 'root', '12345')) {
    echo 'Ошибка подключения к базе данных';
    exit();
  }
  //перенаправление подключения в русскую кодировку 
  @mysql_query("SET NAMES 'cp1251'", $link);
  mysql_select_db('forum', $link);
// Делаем запрос к базе на наличие пользователя с нужными параметрами	 
	$sql = "SELECT `UID` FROM `users` WHERE (`UName` = '".$UName."') 
                                        and (`UPSW` = '".$UPSW."')
	                                    and (`UGroup` = '".$UGroup."')";
	$result = mysql_query($sql, $link);
	 
if (!$result) {
    echo "Ошибка выполнения запроса";
    mysql_close($link) ;
	exit();
  } else { 
	$row = mysql_fetch_object($result); 
	$UID = $row->UID;
    mysql_free_result($result);
  };   
	 
	if (!$UID) {
     echo "Доступ запрещён!";
     mysql_close($link) ;
     exit(); 
	}  else { 
	header('Location: admin.php');
exit;
	 };	 
	 ?>
Ещё раз спасибо!
 

aaachilov

Новичок
Спасибо! Но я именно это что Вы указали уже не один раз прочёл - не могу найти не ошибки не заранее отправленной информации браузеру, ни чего подобного(((

Если это из за вывода через echo - но тогда вообще не пойму как вывести предупреждения в случае ошибки
 

С.

Продвинутый новичок
не могу найти не ошибки не заранее отправленной информации браузеру, ни чего подобного(((
На проведенном вами коде с самого начала есть пара десятков строк черным цветом. Они ушли браузеру. Возможно нижче есть что-то еще.
 

aaachilov

Новичок
То есть любой html хавает браузер! (((
Ладно - но если я после кода php размещая форму для получения знаений переменных скрипт не работает(((
Я конечно нашёл решение поместив скрипт в отдельный документ - но хотелось бы все в одном файле реализовать
 

С.

Продвинутый новичок
То есть любой html хавает браузер! (((
Нет, выборочно, только тот, который браузеру по душе.
Я конечно нашёл решение поместив скрипт в отдельный документ - но хотелось бы все в одном файле реализовать
Да где угодно размещайте. Само помещение его в отдельный файл ничего не дает. Вопрос состоит выдавать даные или нет, а откуда -- без разницы.
 

vart

Новичок
попробуйте так
PHP:
 ob_start();
 header("location: url");
 exit;
 ob_end_flush();
 

KorP

Новичок
вообще такой код должен валить ошибки даже при первом запуске (без отправки формы),ибо он не знает что такое UName и UPSW, надо всё это дело обернуть во что то типа
PHP:
if ($_SERVER["REQUEST_METHOD"] == "POST") {...}
 

aaachilov

Новичок
Спасибо!
То есть как я понимаю нужно всегда при наличии скрипта, который принимает значения методом POST с формы, которая расположена на той же сранице что и скрипт обернуть страницу в цказанные Вами условие. А вывод переменных можно осуществлять за пределами данной конструкции??
Я читал про это в этой теме , но не совсем уверен что делаю верно...
 

KorP

Новичок
да, в этом случае у тебя твой скрипт будет выполняться не при загрузке страницы, а при отправке формы
после того, как человек заполнит форму и нажмет кнопку Послать, данные отсылаются тому же самому скрипту. скрипт определяет, что это ПОСТ, и начинает его обрабатывать.
 

aaachilov

Новичок
Спасибо огромное! Кладец знаний потихоньку наполняется с Вашей помощью))
 
Сверху