Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Авторизация на PHP
Форумы портала PHP.SU » Разное » Обсуждение статей » Авторизация на PHP

Страниц (1): [1]
 

1. Prokofe - 16 Июня, 2011 - 16:03:13 - перейти к сообщению
Нашел статью http://www[dot]softtime[dot]ru/info/arti[dot][dot][dot]hp?id_article=34 вроде бы все просто скопировал не работает..

Цитата:
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at Z:\home\cms\www\admin\index.php:1) in Z:\home\cms\www\admin\auth.php on line 6

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at Z:\home\cms\www\admin\index.php:1) in Z:\home\cms\www\admin\auth.php on line 6


код auth.php:
PHP:
скопировать код в буфер обмена
  1. <?PHP  
  2.  
  3. if(!defined("IN_ADMIN")) die;  
  4.  
  5.  
  6.  
  7. $access = array();  
  8. $access = file("access.php");  
  9.  
  10. $login = trim($access[1]);  
  11. $passw = trim($access[2]);  
  12.  
  13. if(!empty($_POST['enter']))  
  14. {  
  15.         $_SESSION['login'] = $_POST['login'];  
  16.         $_SESSION['passw'] = $_POST['passw'];  
  17. }  
  18.  
  19.  
  20. if(empty($_SESSION['login']) or  
  21.    $login != $_SESSION['login'] or  
  22.    $passw != $_SESSION['passw']    )  
  23.  
  24. {  
  25.    ?>  
  26.      <a href="index.php">Вернуться в администрирование сайта</a>  
  27.      <form action=index.php method=post>  
  28.      Логин <input class=input name=login value="">  
  29.      Пароль <input class=input name=passw value="">  
  30.      <input type=hidden name=enter value=yes>  
  31.      <input class=button type=submit value="Вход">  
  32.    <?PHP  
  33.    die;  
  34. }  
  35. ?>


По сути этот оно работает, то есть пароль он считывает и потом перенаправляет, только ошибки эти не пропадают, а так же висят в шапке. Что предпринять?
2. Мелкий - 16 Июня, 2011 - 16:15:33 - перейти к сообщению
3. Prokofe - 16 Июня, 2011 - 16:22:51 - перейти к сообщению
Увы нет.. у меня под дефолту UTF-8 без ВОМ
4. Мелкий - 16 Июня, 2011 - 16:27:21 - перейти к сообщению
А пробел, перевод строки перед <?
5. Prokofe - 16 Июня, 2011 - 16:31:29 - перейти к сообщению
Перепроверил, и до и после вообще уже не одного пробела не оставил.. нечего не изменилось..
(Добавление)
Ну подмогите, а то я уже не знаю.. это последнее что нужно делать и все, моя работа так сказать готова..
6. Мелкий - 16 Июня, 2011 - 18:05:07 - перейти к сообщению
Prokofe пишет:
Cannot send session cookie - headers already sent by (output started at Z:\home\cms\www\admin\index.php:1)

Вы ведь пробелы и вывод искали где надо, в index.php?
7. Prokofe - 16 Июня, 2011 - 18:12:05 - перейти к сообщению
Не только я уже везде все проверил..
(Добавление)
А кто-нибудь пробовал код? он только у меня не работает?
(Добавление)
Может есть какие-то другие варианты авторизации, нужно чтобы при входе в админку, просило лог пасс, правда в админке не один файл, следовательно нужно как-то защитить другие файлы от прямого вызова.

UPD запилил на .htaccess и .htapassdw
8. Slavenin - 16 Июня, 2011 - 20:55:22 - перейти к сообщению
сталкивался с такой же проблемой, помогло изменение кодировки файла utf-8 -> ANSI -> utf-8 и попробуй поставить функцию session_start(); в самом начале файла сразу после <?PHP

ну и в самом крайнем случае можешь написать так:
9. Comatose - 17 Июня, 2011 - 12:21:27 - перейти к сообщению
Всё таки возможно осталась сигнатура в файле. её иногда даже не видно. Для проверки таких моментов лучше смотерть эти файлы под никсами Подмигивание

 

Powered by ExBB FM 1.0 RC1