![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
есть функция
не могу понять ошибку. переменная $gd_sess и $error просто нулевые. Уже всю голову сломал и не знаю почему так. До return все переменные имеют значения, проверял Помогите разобраться -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
С какой стати ты решил, что эта функция должна что-то возвращать, кроме кучи хтмл-а?
Где проверочный код, чтобы мы тоже могли увидеть, что "все пустое", а это тебе не померещилось? Вообще, конечно, мешанина чудовищная. какие-то сессии вперемешку с HTML, все это засунуто в функцию... |
|||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
эта функция и должна вернуть чистый html
вот временно кинул на рабочий сервер http://befocus.ru/index.php?pages=r1&id=1 перед return поставил print_r($error); Добавлено через 57 секунд
-------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| MoLeX |
|
|||
![]() Местный пингвин ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4076 Регистрация: 17.5.2007 Репутация: 46 Всего: 140 |
Gold Dragon,
return возращает в твой основной скрипт ответ в виде хтмл кода (в твоем случае). как понял ты хочешь чтобы он еще и возратил значение переменных $gd_sess и $error. для этого надо так
-------------------- Amazing |
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
а что ж ты тогда нам голову морочишь, что она не возвращает тебе $error? Это НЕНОРМАЛЬНО. Когда частью шаблона являются функции и сессии. Это сообщение отредактировал(а) Feldmarschall - 8.7.2008, 08:29 |
|||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
да нет там сессий! Там переменные. И шаблон у меня постоен по этому принципу
конструкция типа
отлично работает с переменными. Вот во всём сайте всё отлично, а тут не хочет вот зайдите сюда http://befocus.qqq/index.php?pages=r2 там внизу есть ".... 15 минут...." А эти модули практически одинаковые... -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
Ты сам пробовал читать, что пишешь?
Ладно, оставим в стороне твою кашу, речь не о ней. Что у тебя твоя функция не возвращает, и почему должна? |
|||
|
||||
| MoLeX |
|
|||
![]() Местный пингвин ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4076 Регистрация: 17.5.2007 Репутация: 46 Всего: 140 |
-------------------- Amazing |
|||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
Feldmarschall, а может попроще с наездами?
а теперь по сути... часть функций это часть шаблона. Функция возвращает HTML-код. При этом получает несколько переменных. В данном случае при начальной загрузке станицы ошибки ($info['error']) нет. Если отправить форму без каких-то данных. то переменная вернётся с описанием ошибки и эта переменная вставляется в код. Проблема в том что я не понимаю почему переменная до оператора return существует, а возвращается нулевая. Я дал ссылку на аналогичную страницу.. там это (как на всём сайте) работает ps что касается чудовещной мешанины. Это один вариантов шаблонов. Если мне не изменяет память то все скины этого форума постоены именно по этому принципу Добавлено через 1 минуту и 57 секунд MoLeX, я знаю что она работает, но именно на этой странице нет.. Вот и хочу понять что может быть -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| Feldmarschall |
|
||||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
в приведенном коде нет и следа обработки форм. к чему это предложение?
За 10 сообщений ты так ни разу и не написал, что имеется в виду под "возвращает" это заметно, что отлично. по этому топику особенно =) Это сообщение отредактировал(а) Feldmarschall - 8.7.2008, 09:03 |
||||
|
|||||
| Gold Dragon |
|
||||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
поэтому и спрашиваю. -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
||||
|
|||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
У тебя кривая и неочевидная система шаблонизации.
И все проблемы - из-за неё. А еще потому, что ты очвечаешь на какие-то другие вопросы, а не на те, которые я задаю. А я задаю их не просто так, а чтобы ты сам хотя бы попытался понять, что твой , такой замечательный, код делает. |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
||||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
ну значит у нас подмена понятий и различия в терминологи.
хорошо, попробую ещё раз повторить эта функция возвращает какой-то HTML-код. Не возвращает переменные которые я ей передаю. А именно $error = '', а $gd_sess = 0. Первая переменная передаётся этой функции, вторая берётся из конфигурации, т.е. простая глобальная переменная. Почему должна возвращать?.. Потому что - возвращается весь код - правильно вставляются, а следственно возвращаются другие переменные ($gd_site) - в самой функции переменные существуют (ссылку на пример я дал. Если нажать на "ВХОД", то можно увидеть что переменная в функции существует. вся система постоена по принципу
потом из этих скинов составляется весь документ. Как я уже упоминал, форум IPB постоен именно по такому принципу, только с использованием классов. А у меня всё попроще и использую только функции. Может ты просто с такой не сталкивался? Но по мне очень удобная и гибкая система Добавлено через 5 минут и 9 секунд Mal Hack, и тебе привет.. всё некогда было смотри две станицы http://befocus.ru/index.php?pages=r1 и http://befocus.ru/index.php?pages=r2 нажми на "ВХОД" на первой странице переменная почему-то нулевая (её содержимое можешь увидеть в верху страницы, я в функции поставил print_r($errror) ) на второй странице всё работает.. Просто даже не знаю где копать.. Ведь в этой функции используется три переменные, а две нулевые Это сообщение отредактировал(а) Gold Dragon - 8.7.2008, 09:37 -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Тебе надо копать там, где у тебя эта функция вызывается, т.к. там содержимое $_POST теряется или переопределяется.
|
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
Я прекрасно знаю, что такое хередок, можно мне не объяснять =)
Форум IPB давно от такой системы отказался. Поскольку это не шаблон, а винегрет в своем худшем виде. Вместо простого и наглядного файла шаблона мы имеем пхп код, в котором лежат функции, в которых лежит хередок. Игла в яйце, яйцо в утке, утка в зайце, заяц в офиге... А теперь мы попробуем со всей этой фигней взлететь, ага. По поводу твоего кода. Я написал, в самом начале:
Не "можно кнопку нажать". Не "не возвращаются" (я, наконец-то, понял, что ты имеешь в виду, постоянно повторяя это слово). А код. Простой код, который иллюстрирует твою проблему. И который можно воспроизвести. Почему бы не сократить HTML до одной строчки? Кто тебе мешает это сделать? Почему нельзя последовательно упрощать код, чтобы в конечном итоге добраться до источника проблем, как это делают все программисты, в процессе отладки? Где, в конце, концов, вывод этого print_r($error)? и почему она должна что-то содержать? |
|||
|
||||
| Gold Dragon |
|
||||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
уже говорил
Добавлено через 4 минуты и 46 секунд Feldmarschall, да ёмоё.. ну ты читай что ли....
-------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
||||
|
|||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
global маленькими напиши.
Добавлено через 38 секунд Но с точки зрения технологии это не совсем верно... |
|||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
вот что на странице сейчас. Бумаю видно что и где должно выводиться и проверяться на наличие
http://befocus.ru/index.php?pages=r1 -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| Feldmarschall |
|
||||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
Gold Dragon, на странице "этого" быть не может. Поскольку "это" - только определение функции. А вызова здесь нету.
В коде мы видим
на странице -
у тебя есть идеи, как 2 br превратились в 4? |
||||
|
|||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
Feldmarschall, уже много раз давай ссылку на результат Насчёт всего кода согласен. Но оставил его только потому что он именно так на сервере, вдруг где-то именно в самом коде синтаксис глючит.. просто уже не вижу. Пытался полность переписать вручную и заново, тоже самое.. а насчёт иголки--яйца--утки... Мне нравится так Добавлено через 6 минут а вот это уже интересно... почему-то не обратил на это внимание... -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
передавать конечно.
|
|||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
действительно, функция скорее всего вызывается два раза. Буду смотреть..
Feldmarschall, и нечего было так кричать Mal Hack, в чём плюсы передачи? -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
в котором ничего, из того, что ты описывал словами, не было. именно в этом. в кривом шаблоне. Это неудивительно. Ты слишком большое внимание уделял собеседникам, объясняя им, какие они некультурные. Где уж тут за своим кодом смотреть. Тем более, что код вообще ничего не выводил. Может, ты что-то и правил на своем befocus.qqq, но на страницах, на которые ты исправно посылал своих собеседников, не выводилось ни-че-го. Это сообщение отредактировал(а) Feldmarschall - 8.7.2008, 10:44 |
|||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
Feldmarschall, ну конечно, я вот весь такой из себя.. и всё у меня кривое, и всё не как надо и правильно, и всё через одно место сделано.. Предлагаю меня расстрелять
В общем, вопрос закрыт. Проблема оказалось банальной, в условиях была логическая ошибка и функция использовалась несколько раз. А шаблон уж не такой и кривой оказался -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
||||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
skyboy, есть несколько причин по которым я этим пользуюсь. Ну первая и наверное самая главная - я просто привык и мне очень с ним удобно работать. Вторая - используя этот подход удобнее менять вид страниц, т.е. можно сделать все страницы сайта абсолютно разными вплодь до изменения стилей и расположения элементов при меньших затратах
Кстати, есть же тема "Шаблонизатор", решение что лучше так и не приняли -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
там, насколько мне помнится, речь шла о HTML с PHP вставками, блочный шаблонизатор и XML/XSLT все они дают фору варианту с heredoс. а) попробуй сделать шаблон внутри шаблона: либо переменную придется инициализировать содержимым целиком(значит, занимать память), либо придется разрывать heredoc'овское echo, что не улучшит читабельность ни на йоту б) попробуй вызвать PHP функцию в шаблоне; опять же: либо придется дополнительно инициировать переменные, либо разрывать вывод в) попробуй сделать вывод однотипной информации по данным в массиве: придется разрывать вывод, чтоб можно было echo вынести в РНР-шный цикл или я чего не понимаю? |
|||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
не по теме конечно пошло...
разрывов у меня нет.. я просто даю функции массив, а там просто в HTML-тексте уже идут простые вставки типа {$info['name']} и всё очень читаемо -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
||||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |