Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.06.2009, 21:13   #1
Revival001
Форумчанин
 
Регистрация: 30.09.2008
Сообщений: 483
По умолчанию Не могу найти ошибку в скрипте авторизации

Не могу найти ошибку. Вот что выдает скрипт:
Цитата:
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at Z:\home\RevivalCMS.ru\www\index.php :8) in Z:\home\RevivalCMS.ru\www\auth.inc on line 11
Вот код auth.inc
Код:
<html>
<head>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<div class="dmenucap">Авторизация</div><br>
<?php echo $txt; ?>
</body>
</html>
<?php
session_start();
if (isset($_SESSION['user'])) {
 $auth = "Привет ".$_SESSION['user']."!<br />\n";
 $auth .= "<a href='logout.php'>Выйти</a>";
 }else {
 $txt = <<< txt
 <center>
<form action="autorization.php" method="POST">
Имя:&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp<input 

name="login"><br><br>
Пароль:<input name="pass" type="password"><br>
<input type="submit" name="sb" value="Войти"> <a 

href="register.php">Регистрация</a></center>
</form>
txt;
} ?>

Подскажите в чем ошибка и как её исправить?
Revival001 вне форума Ответить с цитированием
Старый 25.06.2009, 21:18   #2
evgenrpo
Пользователь
 
Регистрация: 31.05.2009
Сообщений: 71
По умолчанию

Попробуйте session_start(); поставить сверху
Код:
session_start();
<html>
<head>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<div class="dmenucap">Авторизация</div><br>
<?php echo $txt; ?>
</body>
</html>
<?php
if (isset($_SESSION['user'])) {
 $auth = "Привет ".$_SESSION['user']."!<br />\n";
evgenrpo вне форума Ответить с цитированием
Старый 25.06.2009, 21:32   #3
Revival001
Форумчанин
 
Регистрация: 30.09.2008
Сообщений: 483
По умолчанию

Session_start() еще в <?php ?> надо брать. Пробовал. То же самое. Тольо теперь ошибка в первой строчке.
Revival001 вне форума Ответить с цитированием
Старый 25.06.2009, 21:35   #4
Gorychev
Участник клуба
 
Аватар для Gorychev
 
Регистрация: 08.03.2008
Сообщений: 1,603
По умолчанию

Цитата:
Попробуйте session_start(); поставить сверху
Согласен, только в пхп теги session_start() заключить незабудьте.
Код:
<?php session_start(); ?>
<html>
<head>
<link rel="stylesheet" type="text/css" href="style.css">
.........
Gorychev вне форума Ответить с цитированием
Старый 25.06.2009, 21:44   #5
Revival001
Форумчанин
 
Регистрация: 30.09.2008
Сообщений: 483
По умолчанию

Не катит. Пробовал.
Revival001 вне форума Ответить с цитированием
Старый 25.06.2009, 21:51   #6
Gorychev
Участник клуба
 
Аватар для Gorychev
 
Регистрация: 08.03.2008
Сообщений: 1,603
По умолчанию

Понятно. Скорей всего вы в index.php писали примерно следующее:

Код:
require_once(auth.inc");
или
include("auth.inc");
если да, то session_start() в auth.inc вообще писать не нужно. В index.php пропишите <?php session_start(); ?> с самого верху и все.

Последний раз редактировалось Gorychev; 25.06.2009 в 22:05.
Gorychev вне форума Ответить с цитированием
Старый 25.06.2009, 21:58   #7
evgenrpo
Пользователь
 
Регистрация: 31.05.2009
Сообщений: 71
По умолчанию

Обявите сначала php скрипт а потом html
Код:
<?php
session_start();
if (isset($_SESSION['user'])) {
 $auth = "Привет ".$_SESSION['user']."!<br />\n";
 $auth .= "<a href='logout.php'>Выйти</a>";
 }else {
 $txt = <<< txt
 <center>
<form action="autorization.php" method="POST">
Имя:&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp<input 

name="login"><br><br>
Пароль:<input name="pass" type="password"><br>
<input type="submit" name="sb" value="Войти"> <a 

href="register.php">Регистрация</a></center>
</form>
txt;
} ?>
<html>
<head>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<div class="dmenucap">Авторизация</div><br>
<?php echo $txt; ?>
</body>
</html>
evgenrpo вне форума Ответить с цитированием
Старый 25.06.2009, 23:26   #8
Jensi
beneto.ru
Форумчанин
 
Регистрация: 09.03.2009
Сообщений: 174
По умолчанию

Цитата:
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at Z:\home\RevivalCMS.ru\www\index.php :8) in Z:\home\RevivalCMS.ru\www\auth.inc on line 11
Сессии пишутся раньше всех кодов
Jensi вне форума Ответить с цитированием
Старый 26.06.2009, 10:57   #9
mv28jam
Старожил
 
Аватар для mv28jam
 
Регистрация: 09.09.2008
Сообщений: 2,714
По умолчанию

Опять 25!
Вывод у вас на какой строке ? на 8... если посчитать с тега <html>, то должна быть 7 ни о чём не говорит?
переставили стала 1? опять ни о чём? а символ перевода строки
Код HTML:
<!--вот тут который. куда делся?-->
<html>
отправился пользователю вместе с сформированными заголовками.

Из этого вывод: разделяйте логику и разметку или используйте буферизацию.
Стрелок-охотник
mv28jam вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу найти ошибку Tesmont Помощь студентам 2 20.05.2009 21:00
Не могу найти ошибку(С++) Yura_n Помощь студентам 8 20.01.2009 12:36
Не могу найти ошибку. Picaso18 Паскаль, Turbo Pascal, PascalABC.NET 3 19.01.2009 17:05
Не могу найти ошибку . KVANTOM Общие вопросы Delphi 2 08.01.2009 17:15
Не могу найти ошибку! Эдуард Общие вопросы C/C++ 7 27.02.2008 16:34