Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Закрытая темаСоздание новой темы Создание опроса
> error.log сайта, ограничение логов, ошибки сайта 
V
    Опции темы
Fortop
Дата 15.7.2008, 16:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



Цитата(nicka47 @  15.7.2008,  13:41 Найти цитируемый пост)
а как  насчет такого простого метода? 

Да пойми же ты очень простое правило smile
1. Четко ограничь круг и тип возможных переменных извне.
2. Потом делай что хочешь...

Ты же ищешь простой способ взять любые переданные данные себе в код.

Да, последний вариант с использование уникального префикса - несколько улучшает ситуацию.

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

Поначалу, это кажется лишней работой, но поверь, эта лишняя работа делается всего 1 раз на весь проект (построение моделей), 
зато потом избавляет тебя от большой кучи постоянных проблем...

И распухание логов ошибок это только одна из них smile


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
nicka47
Дата 16.7.2008, 12:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 200
Регистрация: 23.3.2005
Где: Грузия

Репутация: нет
Всего: нет



Код

PHP Notice:  Use of undefined constant SERVER_NAME - assumed 'SERVER_NAME' in 


Вот что стоит в этой строчке
Код

$thiswebsite = $_SERVER[SERVER_NAME];


в чем ошибка?
PM MAIL   Вверх
skyboy
Дата 16.7.2008, 12:48 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Цитата(nicka47 @  16.7.2008,  11:37 Найти цитируемый пост)
в чем ошибка?

в том, что нет встроенной константы SERVER_NAME. и нет такой константы, объявленной тобой при помощи define.
PM MAIL   Вверх
A1ekcandr
Дата 16.7.2008, 14:31 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 99
Регистрация: 27.6.2007

Репутация: 1
Всего: 1



мне кажется вам стоит прочитать какуюнить книжку php или хотябы пройти курсы обучения online на php
PM MAIL   Вверх
nicka47
Дата 16.7.2008, 21:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 200
Регистрация: 23.3.2005
Где: Грузия

Репутация: нет
Всего: нет



A1ekcandr, спасибо за совет, как мне самой в голову не пришло))
PM MAIL   Вверх
nicka47
Дата 17.7.2008, 10:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 200
Регистрация: 23.3.2005
Где: Грузия

Репутация: нет
Всего: нет



'SERVER_NAME' 
The name of the server host under which the current script is executing. If the script is running on a virtual host, this will be the value defined for that virtual host. 

ПОчему нет, вот нашла описание в справочнике, вот и пример, а что в моем коде не так?

Код

echo $_SERVER['SERVER_NAME']; 


Добавлено через 1 минуту и 49 секунд
возможно просто кавычек не хвтало в синтаксисе кода, поэтому и выдавало ошибку соответствующую...


PM MAIL   Вверх
Fortop
Дата 17.7.2008, 13:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



Цитата(nicka47 @  17.7.2008,  10:34 Найти цитируемый пост)
возможно просто кавычек не хвтало в синтаксисе кода, поэтому и выдавало ошибку соответствующую...

Совершенно верно.


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
skyboy
Дата 17.7.2008, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



хм, любопытный случай.
ок. 
объясняю основы синтаксиса.
строка в РНР записывается как последовательность произвольных символов между двумя одинаковыми ограничителями(есть ещё heredoc, но тут про него говорить не буду): двойными кавычками " или одинарными '. если внутри строки должен быть символ, совпадающий с ограничителем строки, то такой символ "экранируется" - перед символом ставится обратная косая черта \. например, так: "ааааааж\"жжжжж". в этом примере вторая по счету двойная кавычка относится к строке. в то время, как первая и третья по порядку кавычки играют роль ограничителей и не входят в состав строки.
константа - это произвольное значение, которое имеет имя. название консанты состоит из символов латиницы, цифр и символа подчеркивания: например, MY_GREAT_CONST. константы должны определяться при помощи функции define. константа должна быть определена до её использования. в противном случае будет получено предупреждение уровня E_NOTICE, а значением константы, которая не была объявлена, будет принято её имя. т.е. при использовании константы SOME_COnst до объявления, значением константы будет принята строка "SOME_COnst" и будет сгенерировано предупреждение E_NOTICE.
Таким образом
SERVER_NAME - константа, которая для корректной работы должна быть объявлена ранее по коду.
'SERVER_NAME' - значение строкового типа.
Цитата(nicka47 @  17.7.2008,  09:34 Найти цитируемый пост)
возможно просто кавычек не хвтало в синтаксисе кода

нет. это может запятой не хватать в предложении. ты вместо строкового значения использовала константу. это нечто другое, а не "не хватает". это "не знаю, как оно работает".
ты проявила в этой теме себя отнюдь не дурой. и на лень непохоже. но с основами тебе срочно надо ознакомиться.
PM MAIL   Вверх
nicka47
Дата 17.7.2008, 20:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 200
Регистрация: 23.3.2005
Где: Грузия

Репутация: нет
Всего: нет



skyboy, я в курсе строковых величин, здесь на форуме вы все очень придирчиво относитесь к словам, с точки зрения языковых терминов.

Я имела в виду кавычек не хватает, потому что в справочнике указано что у переменной $_SERVER,  параметр должен быть задан в кавычках и задан список  возможных параметров, среди них есть  и SERVER_NAME, а поскольку кавычек в коде не хватало, то компилятор понял этот параметр как константу, а уж поскольку такой константы определено не было, то и выдал данную ошибку. 

Но это не значит, что я жду от вас разьяснения , в том роде, что я не определила константу, я хотела получить подсказку о том, что у переменной $_SERVER, есть один из параметров SERVER_NAME и задаваться он должен по синтаксису в кавычках,и тогда все будет ок

а код этот не мой, я нашла ошибку в чужом коде, исходя из ошибки в логах на сервере, и пыталась разобраться, 
да, я ленивая, вместо того чтобы просто сунуться в справочник, я просто кинула вопрос на форму и хотела получить готвый ответ. ТОгда и придирок в свой адресс не получала бы, сама виновата
PM MAIL   Вверх
Feldmarschall
Дата 17.7.2008, 21:21 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



skyboy, это бесполезно =)
PM   Вверх
Fortop
Дата 17.7.2008, 21:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



nicka47
Чтобы тебя лучше понимали - используй общепринятые формулировки.

$_SERVER['SERVER_NAME'] - читается как "элемент массива $_SERVER с ключем SERVER_NAME". Ключем массива может быть либо строка, либо число. Именно поэтому SERVER_NAME необходимо было заключать в кавычки.


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
Feldmarschall
Дата 17.7.2008, 22:41 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



Fortop, у тебя некорректное определение =)
Ты подтверждаешь точку зрения этой дамы, что "ключ массива должен быть в кавычках"


Это сообщение отредактировал(а) Feldmarschall - 17.7.2008, 22:43
PM   Вверх
Fortop
Дата 17.7.2008, 22:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



Цитата(Feldmarschall @  17.7.2008,  22:41 Найти цитируемый пост)
Тут ключевая фраза, что не "ключ в кавычках", а что "SERVER_NAME - это строка"

Согласен smile


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
nicka47
Дата 18.7.2008, 10:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 200
Регистрация: 23.3.2005
Где: Грузия

Репутация: нет
Всего: нет



все это называеться педантизмом, от того что я не выражаюсь точными формулировками языка, хуже или лучше я писать не стану. Я не лектором работаю...

Зря вы так придираетесь к каждой фразе, это просто смешно)))))))


Feldmarschall, не красиво разговаривать в третьем лице в присутствие человека.

Добавлено через 5 минут и 2 секунды
такое ощущение, что на форуме не люди простые , а компиляторы сидят и анализируют, написанные обычным человеком фразы...


PM MAIL   Вверх
Fortop
Дата 18.7.2008, 11:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



nicka47
Цитата(nicka47 @  18.7.2008,  10:18 Найти цитируемый пост)
такое ощущение, что на форуме не люди простые , а компиляторы сидят и анализируют, написанные обычным человеком фразы...

Понимаешь ли в чем дело smile
Это клиента я буду выслушивать в его терминологии пытаясь понять, что же он хочет....

На форуме же... пробираться через дебри самописных терминов редко кто будет. Если вопрос не понятен - на него просто не ответят. В лучшем случае smile


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
Закрытая темаСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0864 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.