![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
nicka47 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 200 Регистрация: 23.3.2005 Где: Грузия Репутация: нет Всего: нет |
skyboy, все поняла, спасибо.
ПРоблема прояснилась, буду разбираться, всем спасибо ![]() |
|||
|
||||
Feldmarschall |
|
||||||||
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
Я уже писал - кому на руку. Разработчику. приводил примеры, целых два.
Это правда. ворнинги бывают разные. чаще всего они означают, что строка с такой ошибокй просто не работает, к примеру - самый первый, который ты привела. В последнем же ошибка не критическая. В коде функции по отправке почты, при вызове функции fsockopen перед какой-то переменной стоит значок &. Он там нафиг не нужен и его надо оттуда убрать. $$k=$v; - вот об этом. первая переменная - это имя. вторая - значение. хакер просто пишет в адресной строке имя значение любой переменной, а этот код добросовестно перезаписывает любую переменную сайта.
Это самый сложный вопрос из всех. В большинстве языков программирования переменную надо обязательно объявить перед использованием. просто сказать скрипту, что мы будем использовать такие-то переменные. В самом начале, когда только Расмус Лердорф писал язык РНР, он подумал, что это неудобно, и можно использовать переменную сразу, как только она была написана (как в бейсике). Но со временем, когда язык стал развиваться, стало понятно, что это прямая дорога к ошибкам и проблемам. На эту тему есть анекдот:
Можно перечислить в самом начале скрипта все переменные, которые мы будем использовать. К примеру, если у нас используется переменная $i, то можно написать
И у нас в скрипте теперь будет переменная, значение которой мы точно знаем. И так надо поступить со всеми переменными, используемыми в скрипте. Но с данными, приходящими из браузера, так не получится. Мы же не можем предугадать, какое значение они будут иметь? поэтому надо писать специальный код не $var=""; а
Главное достоинство этого кода в том, что мы здесь контролируем, какие переменные пускать в свой скрипт, а какие - не пускать. В отличие от твоих циклов, которые запускают всех без разбору. |
||||||||
|
|||||||||
nicka47 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 200 Регистрация: 23.3.2005 Где: Грузия Репутация: нет Всего: нет |
да нет же, если мне как разработчику , понадобиться прочитать ошибки, я сделаю это локально у себя, а на реальном сервере это только приводит к раздуванию логов, что мне, как разработчику не нужно, так как с меня , как с разработчика, идет спрос заказчика. Добавлено через 3 минуты и 41 секунду Feldmarschall, спасибо, кое что начинаю понимать. совершенно не учитывала такие важные вопросы до сих пор. Большой пробел в работе |
|||
|
||||
Feldmarschall |
|
|||
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
Ты правда думаешь, что ошибки могут появляться только при разработке сайта, а при работе никогда никаких ошибок не бывает?
К примеру, ошибка - файл не найден. На хосте файла нет, а дома - есть. И как ты собираешься эту ошибку "методом домашнего запуска" исправлять? вот, почитай ещё здесь: http://phpfaq.ru/debug2 Это сообщение отредактировал(а) Feldmarschall - 11.7.2008, 13:24 |
|||
|
||||
skyboy |
|
||||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
нет. ты не права. невозможно сделать программу без единой ошибки(логической, алгоритмической) или хотя бы - без единого недочета. и у себя локально ты сможешь обнаружить только самые явные ошибки. то, что при передаче отрицательного числа через форму у тебя нарушается структура каталога ты можешь не заметить. а в "полевых условиях" рано или поздно это всплывет. так зачем себюе перекрывать кислород? да, и есть вещи, которые локально могут не работать(например, обращение к консоли через system или отправка эл. почты через mail() вполне может не работать под windows). Добавлено через 5 минут и 45 секунд
и это не оскорбление. такая уж специфика - невозможно протестировать на всех возможных данных. |
||||
|
|||||
nicka47 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 200 Регистрация: 23.3.2005 Где: Грузия Репутация: нет Всего: нет |
поверте, я прекрасно понимаю, что невозможно писать без ошибок, что возможны всевозможные варианты, и куча внезапновозникающих непредвиденных вариантов в ходе работы. Может не так глубоко, но я занимаюсь этим уже 10 лет, некоторый опыт есть.
Я не про то удивилась, я была удивлена тем, что кто-то на сервере изменил параметр репортинга ошибок пшп, который стоит по молчанию, я не понимаю кому это может быть нужно кроме самого разработчика, то есть меня, вот и все. Добавлено через 8 минут и 10 секунд ![]() ![]() меня нужно дисквалифицировать |
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
||||
|
||||
nicka47 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 200 Регистрация: 23.3.2005 Где: Грузия Репутация: нет Всего: нет |
skyboy, за все прежние ошибки
|
|||
|
||||
Feldmarschall |
|
|||
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
все прежние ошибки наоборот - повышают ценность разработчика.
ну, если он делает из них выводы, конечно. |
|||
|
||||
nicka47 |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 200 Регистрация: 23.3.2005 Где: Грузия Репутация: нет Всего: нет |
обьясните пожалуйста в чем разница между этими 2-мя кодами, и почему первый правильный, а второй - нет?
|
||||
|
|||||
bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
а если у тебя нет переменной $var? ошибка вылетит
if - проверяет, что в скобках true или false, а если переменной нет, то каков результат? Это сообщение отредактировал(а) bars80080 - 14.7.2008, 13:38 |
|||
|
||||
Feldmarschall |
|
|||
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
||||
|
||||
nicka47 |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 200 Регистрация: 23.3.2005 Где: Грузия Репутация: нет Всего: нет |
поняла,
обьясниет пожалуйста, что делает данный код:
Добавлено через 5 минут и 13 секунд и еще, что означает эта строчка?
|
||||
|
|||||
Feldmarschall |
|
|||
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
||||
|
||||
nicka47 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 200 Регистрация: 23.3.2005 Где: Грузия Репутация: нет Всего: нет |
, нет, не шутка, прошу обьяснить что дает получение значения REQUEST_METHOD
мне кажеться имеет, потому что меня интересовала разница между тем, чтобы просто обратиться к переменной и обратиться к ней первым способом. Теперь понимаю, что второй вариант выбрасывает ошибку, если переменная неопределена, которая как раз наполняет логи нотисами. Значит надо либо сперва инициализироватьпеременную с которой работаешь, либо,е сли она приходит извне, надо определить есть ли она вообще, иначе выйдет ошибка.. что то не так? Вы считаете я задаю глупые вопросы? Мне так кажеться исходя из ваших слов. Я просто пытаюсь разобраться в теме, которая мне непонятна , на которую до сих пор я не обращала внимание |
|||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |