Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
Лис3
2 / 2 / 5
Регистрация: 28.04.2012
Сообщений: 79
#1

не могу понять где цыклит код. Там веть нет while for и т д - PHP

04.09.2012, 19:07. Просмотров 1132. Ответов 12
Метки нет (Все метки)

У меня такая прабла:
Написал код. Он должен спрашивать у админа пароль и не пускать если пароль не верный. Запускаю я код а он мне в ответ 100 раз пишет "
Warning: Cannot modify header information - headers already sent by (output started at W:\domains\ukreniaServis\administrator\index.php:1) in W:\domains\ukreniaServis\administrator\index.php on line 10
Warning: Cannot modify header information - headers already sent by (output started at W:\domains\ukreniaServis\administrator\index.php:1) in W:\domains\ukreniaServis\administrator\index.php on line 11"
http://www.cyberforum.ru/php-beginners/thread163945.html
а в конце "Fatal error: Maximum function nesting level of '100' reached, aborting! in W:\domains\ukreniaServis\administrator\login_password.php on line 2"
Я не могу понять где он цыклит и почему?

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php 
include ("./login_password.php");  /*в файле 2 переменных с логином и паролем*/
  if (isset ($_COOKIE['login_admin']) && $_COOKIE['login_admin']==$truth_login_admin && $_COOKIE['password_admin']==$truth_password_admin)  
     { include ("./finish_writing.php");}
else {
      if (isset ($_POST['login_admin'])) 
          {
          if ($_POST['login_admin']==$truth_login_admin && $_POST['password_admin']==$truth_password_admin)
              {
                setcookie('login_admin', $_POST['login_admin']); 
                setcookie('password_admin', $_POST['password_admin']);
                include ("./finish_writing.php");
              }
          else { //  if ($_POST['login_admin']==$truth_login_admin && $_POST['password_admin']==$truth_password_admin)
                 ?> <html><head><meta http-equiv="content-type" content="text/html; charset=utf-8" /></head><body><h1>Авторізація</h1><span style="color:#FF0000; font-weight:bold; font-size:12px; padding:30;">Логін або пароль булі введені невірно. Спробуйте ще раз.</span><form name="f1" method="post" action="./index.php"><table><tr><td>Логін</td><td><input name="login" type="text" value="<?php $_POST['login_admin'] ?>" maxlength="20"></td></tr> <tr><td>Пароль</td><td><input name="parol" type="password" value="$_POST['password_admin']" maxlength="50"></td></tr> <tr><td colspan=2><input type="submit" value="відправити"></td></tr></table></table></form></body></html> <?php 
                }
          } 
      else { ?> <html><head><meta http-equiv="content-type" content="text/html; charset=utf-8" /></head><body><h1>АВТОРІЗАЦІЯ</h1><form name="f1" method="post" action="./index.php"><table><tr><td>Логін</td><td><input name="login_admin" type="text" value="" maxlength="20"></td></tr><tr><td>Пароль</td><td><input name="password_admin" type="password" value="" maxlength="50"></td></tr><tr><td colspan=2><input type="submit" value="відправити"></td></tr></table></form> </body></html> <?php }
    } 
?>
уносе описание алгоритма:
заходит пользователь, и если у него есть куки и они совпадают с логином и паролем то ему сразу выдается файл "добавление материала". если куки нет или не совпадают то :
вводил ли он текстовые поля ($_POST['login_admin']) и если да то: проверить совпадают ли они с логином и паролем. Если да то прицепить куки и выдать файл "добавление материала" (вот тут где - то собака зарыта, но где и как эти исправить). Если нет то выдать форму с логином и паролем.

и в конце если куки нет и пользователь ничего не вводил то выдать ему форму логин-пароль
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.09.2012, 19:07
Я подобрал для вас темы с готовыми решениями и ответами на вопрос не могу понять где цыклит код. Там веть нет while for и т д (PHP):

Не могу понять где ошибка в Php
Запись на стену пользователя не добавляется, просто идет загрузка...

Не могу понять где ошибка в поиске сайта
Здравствуйте, вот код формы: &lt;form method=&quot;post&quot;...

Не могу понять используется smarty на сайте или нет
Добрый день! Разбираю сейчас один сайт и там присутствуют файлы .tpl. В...

Не могу понять код
Подскажите что именно делает эта строчка кода if (isset($_POST)) {$name =...

Не могу понять почему не работает и где тут ошибка
Доброго всем времени суток! Нужна ваша помощь скачал с инета форму которая...

12
Vovan-VE
13148 / 6531 / 1038
Регистрация: 10.01.2008
Сообщений: 15,071
04.09.2012, 19:12 #2
Этот файл извне как используется?

Добавлено через 50 секунд
Этот файл тоже(?) называется login_password.php и поэтому инклудит сам себя?
0
Лис3
2 / 2 / 5
Регистрация: 28.04.2012
Сообщений: 79
04.09.2012, 19:21  [ТС] #3
Цитата Сообщение от Vovan-VE Посмотреть сообщение
Этот файл извне как используется?

Добавлено через 50 секунд
Этот файл тоже(?) называется login_password.php и поэтому инклудит сам себя?
нет. Он сам себя не может инклудить. Этот файл называется index.php. А в login_password.php всего две строки:
PHP
1
2
$truth_login_admin='a';
$truth_password_admin='b';
0
Vovan-VE
13148 / 6531 / 1038
Регистрация: 10.01.2008
Сообщений: 15,071
04.09.2012, 19:27 #4
Помимо этого в index.php больше ничего нет?
0
Лис3
2 / 2 / 5
Регистрация: 28.04.2012
Сообщений: 79
04.09.2012, 19:30  [ТС] #5
нет, больше ничего.

в
PHP
1
finish_writing.php
заменил include ("index.php"); на
PHP
1
echo ("ОЙ");
теперь ошибка

Warning: Cannot modify header information - headers already sent by (output started at W:\domains\ukreniaServis\administrator\index.php:1) in W:\domains\ukreniaServis\administrator\index.php on line 10

Warning: Cannot modify header information - headers already sent by (output started at W:\domains\ukreniaServis\administrator\index.php:1) in W:\domains\ukreniaServis\administrator\index.php on line 11
ОЙ
0
Vovan-VE
13148 / 6531 / 1038
Регистрация: 10.01.2008
Сообщений: 15,071
04.09.2012, 19:31 #6
А в finish_writing.php нет инклуда index.php?
0
KOPOJI
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16744 / 6635 / 860
Регистрация: 12.06.2012
Сообщений: 19,880
Завершенные тесты: 1
04.09.2012, 19:35 #7
в общем замените include на include_once, ощутите разницу)

Добавлено через 25 секунд
и найдите где у вас он еще инклудится

Добавлено через 12 секунд
рекурсия, однако
0
Лис3
2 / 2 / 5
Регистрация: 28.04.2012
Сообщений: 79
05.09.2012, 01:17  [ТС] #8
Warning: Cannot modify header information - headers already sent by (output started at W:\domains\ukreniaServis\administrator\index.php:1) in W:\domains\ukreniaServis\administrator\index.php on line 11
как я понял: ошыбка выдается если перед куки написать какоё- то символ. Но у меня непед куки нет никаких символов.
Я смотрел через: блокнот, Dreamweaver 8, PHP Expert Editor, Unicode Editor 2.8. И нет там ничего.
ПС кодировка utf-8.
Попробовал пересохранить кодировкой ANSI. Ничего не изменилось. Только текст квадратиками стал...
0
NoBodyIsPerfect
47 / 30 / 2
Регистрация: 11.06.2011
Сообщений: 206
05.09.2012, 08:32 #9
да может где то пробел стоять в любом месте, перед вызовом сессии или куки
0
KOPOJI
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16744 / 6635 / 860
Регистрация: 12.06.2012
Сообщений: 19,880
Завершенные тесты: 1
05.09.2012, 09:19 #10
Лис3, а теперь ошибка только один раз выдается, и только одна?
0
Лис3
2 / 2 / 5
Регистрация: 28.04.2012
Сообщений: 79
05.09.2012, 11:39  [ТС] #11
KOPOJI да ошибка выдается 1 раз. Точнее 2. там 2 куки и 2 ошибки.

NoBodyIsPerfect: искал и не смог найти. Пользовался несколькими редакторами кода, менял кадровику и т д. И всё то же самое.
0
KOPOJI
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16744 / 6635 / 860
Регистрация: 12.06.2012
Сообщений: 19,880
Завершенные тесты: 1
05.09.2012, 11:48 #12
значит у вас рекурсия получается, про что вам и говорили. где то в подключаемых файлах еще раз подключается index.php или другой - и получается зацикливание. ищите

Добавлено через 21 секунду
как найдете и исправите, тогда уже насчет ошибки подумаем
0
alpex
600 / 575 / 103
Регистрация: 16.07.2012
Сообщений: 1,760
05.09.2012, 14:40 #13
Цитата Сообщение от Лис3 Посмотреть сообщение
У меня такая прабла:
Написал код. Он должен спрашивать у админа пароль и не пускать если пароль не верный. Запускаю я код а он мне в ответ 100 раз пишет "
Warning: Cannot modify header information - headers already sent by (output started at W:\domains\ukreniaServis\administrator\index.php:1) in W:\domains\ukreniaServis\administrator\index.php on line 10
Здесь написано что заголовки были отправлены в первой строке, а в первой строке кроме <?php ничего нет,значит скорее всего там есть BOM, насколько я знаю не все редакторы позволяют сохранять файлы в кодировке без ВОМ, попробуйте использовать Notepad++ и там есть функия в разделе кодировки преобразовать в UTF8 без BOM.И простое пересохранение может не помочь так как BOM символы останутся только в другой кодировке, нужно именно перекодирование файла.

Добавлено через 4 минуты
Цитата Сообщение от Лис3 Посмотреть сообщение
У меня такая прабла:
а в конце "Fatal error: Maximum function nesting level of '100' reached, aborting! in W:\domains\ukreniaServis\administrator\login_password.php on line 2"
и во 2 строке файла login_password.php смотрите что у вас там подключается
0
05.09.2012, 14:40
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.09.2012, 14:40
Привет! Вот еще темы с решениями:

Разложите пожалуйста по полочкам код (не могу понять)
$connection = new mysqli($db_hostname, $db_username, $db_password, ...

Перестал работать код. Не могу понять в чём причина!
Получил сайт в распоряжение, а на сайте ошибка в РНР. При чём изначально...

Ребят! Гляньте код не могу понять что с ним не так
у меня есть функция, в случае ошибки она должна возвращать эту ошибку. Но...

Написал код, но не могу понять где ошибка :[
type TForm3 = class(TForm) Edit1: TEdit; Label1: TLabel; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru