Автор Тема: Не могу отправить заголовок!  (Прочитано 8655 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Diesel

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 69
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Не могу отправить заголовок!
« Ответ #15 : 26 Февраля 2004, 16:41:37 »
AliMamed Есть код. В этом коде однозначно видно что авторизация происходит по введенным пользователем данным (иначе зачем отсылать на страницу авторизации если параметры соединения прописаны в скрипте?). Если пользователь ввел неправильные параметры то будет выведена ошибка и никакогой header отправлен не будет. Это и ежу понятно! Поэтому вывод в браузер нужно запретить и вместо этого выдавать сообщение уже после отправки заголовка на странице авторизации например так

if (isset($_GET[\'err\']))
{
    print \'Ошибка соединения с базой\';
}

Но если в приведенном коде не отключать вывод ошибок то хоть в процессе разработки хоть в процессе реальной работы этот код не будет работать как задуманно.

Вывод: задуманно неправильно. Поэтому повторяю. Каков вопрос, таков и ответ.

Оффлайн AliMamed

  • \\o/ ali akbar \\o/
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2409
  • +2/-0
  • 2
    • Просмотр профиля
    • http://alimamed.pp.ru
Не могу отправить заголовок!
« Ответ #16 : 26 Февраля 2004, 16:48:12 »
для этого не обязательно error_reporting(0);
ну, будем исповедоваться?

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Не могу отправить заголовок!
« Ответ #17 : 26 Февраля 2004, 17:02:13 »
Diesel
есть куча спсособов, как обойти эту проблему. Начиная с написания чистого кода (который ничего не выводит перед хедером) и заканчивая включением буферизации.
И новичков насильно надо заставлять писать чистый код - меньше будет ошибок и лучше разберутся с языком.

А error_reporting(0) - наиболее вредный совет (хотя, честно говоря, сам по глупости раньше им пользовался ). Потому что эта строка запрещает вывод ошибок в том числе и в лог-файл (по умолчанию на работчем сайте ошибки надо писать в логи).
Чтобы ошибки не выводились в броузер достаточно
ini_set("display_errors", "Off");
ошибки на экран выводится не будут, а в логи писаться будут (если не отключишь) и на header или сессии это влиять никак не будет
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн Diesel

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 69
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Не могу отправить заголовок!
« Ответ #18 : 26 Февраля 2004, 17:03:38 »
у меня такое чувство что автору этот топик уже не интересен.

Оффлайн Diesel

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 69
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Не могу отправить заголовок!
« Ответ #19 : 26 Февраля 2004, 17:10:39 »
Макс вот это наконец по существу. error_reporting(0) както по энерции написал. каюсь.
То что заставлять хороший код писать - правильно. но тогда нужно чуть ли не каждого направлять по ссылке на стандарты кодирования PEAR и каждому объяснять что двойные кавычки есть смысл использовать только внутри двойных. Это полезно но это не по теме.

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Не могу отправить заголовок!
« Ответ #20 : 26 Февраля 2004, 18:19:46 »
Diesel
если в этот топик будут писать недалекие люди вроде тебя, то он станет неинтересен кому угодно.
Запомни.
В этом форуме не даются идиотские ответы "чего хотел того и получил".
Если автор вопроса хочет ошибочного, то ему ошибка разъясняется, а не дается ответ в лоб.

Дай мне знать, что понял.

Тебе для информации.
Праграмма в штатном режиме не должна порождать сообщений об ошибках.
Сообщения об ошибках - это сигналы о том, что программа работает некорректно.
поэтомы при корректной работе сообщений быть не должно.
поэтому если сообщение выдается, надо программцу переписать.
А не прятать голову в песок.

Оффлайн Diesel

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 69
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Не могу отправить заголовок!
« Ответ #21 : 27 Февраля 2004, 08:31:28 »
RomikChef согласен что в этом оспекте я не прав. Но заметь я сразу сказал что это делается не так, в расчете на то что автор спросит все же, а как это делается. Автору по барабану, а мы тут такую дискусию развели.

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28