![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Хулиган |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 20.8.2006 Репутация: нет Всего: нет |
Есть файл: permises.php. В нем форма
По клику на кнопке проверяю поля формы на заполненость, и делаю сабмит формы. Сабмит перезагружает эту же страницу, но с параметром ?add=1 (см.action формы). В начале файла permises.php стоит:
на строку print $_POST['refer']; выдаёт ошибку: 'undefined index:refer'. Точно также выдает ошибку при обращении к любому другому элементу формы. Почему? |
||||
|
|||||
| smartov |
|
|||
![]() свой собственный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4225 Регистрация: 2.2.2006 Где: NJ Репутация: 7 Всего: 259 |
Misterious headers какие-то....
А какая версия PHP? |
|||
|
||||
| szz |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1289 Регистрация: 31.5.2005 Где: Moscow, Jerusalem Репутация: 8 Всего: 33 |
Да, у тебя все верно, тут какие-то глюки с серваком.
Что за сервер? Апач? --------------------
|
|||
|
||||
| Хулиган |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 20.8.2006 Репутация: нет Всего: нет |
Установлен Денвер с php5.1.2.
Что самое непонятное - в этом файле есть другая форма, которая также ссылается на этот же файл (она используется для предварительного определения разрешения экрана). Так эта форма работает без проблем:
Трудно даже предположить, в какую сторону искать. Уже второй день буксую |
|||
|
||||
| szz |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1289 Регистрация: 31.5.2005 Где: Moscow, Jerusalem Репутация: 8 Всего: 33 |
Что вы все этот денвер ставите? Что за мода пошла?
Ставь ксамп: http://www.apachefriends.org/en/xampp.html Поставь хоть для проверки. --------------------
|
|||
|
||||
| smartov |
|
|||
![]() свой собственный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4225 Регистрация: 2.2.2006 Где: NJ Репутация: 7 Всего: 259 |
||||
|
||||
| Хулиган |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 20.8.2006 Репутация: нет Всего: нет |
Что-то не пойму, как аттач цеплять? Или здесь такого нет? А то файл в три сотни строк, весь его в тег code обернуть?
|
|||
|
||||
| Хулиган |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 20.8.2006 Репутация: нет Всего: нет |
Решил убрать лишнее из файла, чтобы листинг был поменьше, и обнаружил такое: вторая приведенная мною форма (name=frm_width action=".$_SERVER["REQUEST_URI"].") влияет на работу первой: если убрать её, то первая (name='frmaddnew' action='premises.php?add=1') начинает работать исправно...
Вот такой прикол. Как они могут быть связаны? |
|||
|
||||
| szz |
|
||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1289 Регистрация: 31.5.2005 Где: Moscow, Jerusalem Репутация: 8 Всего: 33 |
А ксамп - фрицами пагаными )))
А ты обе закрываешь корректно? И вообще, код показывай подробнее, где-то у тебя определенно ошибка. --------------------
|
||||||
|
|||||||
| Хулиган |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 20.8.2006 Репутация: нет Всего: нет |
В общем урезал до самого минимума, и локализовалась ошибка. Код:
Если раскомментировать часть кода с 14 по 24 строку, то ошибка появляется. Для устранения ошибки надо либо закомментировать этот кусок, либо обернуть его в else {}. Непонятно, какое отношение имеет наличие else к форме ссылающегося документа? Иначе говоря, разве наличие else влияет на наличие формы? Форма существовала, раз был клик на кнопке в этой форме... |
|||
|
||||
| Drkwv |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 21.3.2006 Репутация: нет Всего: нет |
имхо, проблема в
Добавлено @ 18:35 У тебя при отсылке второй формы $_POST['scr_width'] не установлен, а add=1 сохраняется, вот и всё. Добавлено @ 18:42 Короче, : 1. Отсылается форма frm_width 2. Отсылается форма frmaddnew и add=1 3. Т.к. не установлен $_POST['scr_width'] выводится форма frm_width и отсылается скриптом 4. $_GET['add']==1 и $_POST['refer'] не определен ибо выслана frmaddnew где $_POST['scr_width'] 5. Выводится ерор. P/S/ если че не так - прошу прощения, я нетрезв. P/s/s/ не юзайте скрипты Это сообщение отредактировал(а) Drkwv - 20.8.2006, 18:30 |
|||
|
||||
| Хулиган |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 20.8.2006 Репутация: нет Всего: нет |
Блин, допёр, в чем дело: файл фактически открывается 4 раза, а я рассчитывал, что будет открываться три раза. Первый раз - при заходе с index.php, второй - после определения ширины экрана, третий - по клику(с установленым refer). Четвертый раз открывается несанкционировано в связи с отсутствием $_POST['scr_width'], и при этом теряется refer, который был заполнен на третьем открытии. Отсюда и ошибка.
Спасибо всем. |
|||
|
||||
| Хулиган |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 20.8.2006 Репутация: нет Всего: нет |
Раз суть проблемы ясна, то что посоветуете, как правильней состыковать определение размеров экрана с отправкой форм и работой кода страницы в целом?
Ширина нужна обязательно, проценты не проходят, нужны абсолютные значения. Делать как выше сделано - условия if-else будут нагромождаться друг на друга, при каждой новой форме надо будет переписывать всё Есть какое-нибудь правильное решение? Чтобы не делать несколько версий сайта под каждое разрешение экрана? |
|||
|
||||
| smartov |
|
|||
![]() свой собственный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4225 Регистрация: 2.2.2006 Где: NJ Репутация: 7 Всего: 259 |
Да хоть индусами
Ну вообще именно для этого и делают "тянущиеся" сайты. То бишь одна и та же HTML-верстка автоматом тянется под разные размеры окна а соответственно и разные разрешения экрана. Открой тот же Рамблер и поизменяй размеры окна. |
|||
|
||||
| Хулиган |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 20.8.2006 Репутация: нет Всего: нет |
на рамблере всё в процентах указано. Мне это не подходит, т.к.основная навигация осуществляется через горизонтальное меню с итемами, субитемами и суб-субитемами. Чтобы эту всю орду построить в нужных местах, приходится использовать непосредственно пиксели. Можно конечно задать фиксированый меню-бар в 800px для любого экрана, а остальное всё - в процентах, но кажется не очень красиво будет.
|
|||
|
||||
| Alone |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 663 Регистрация: 11.5.2003 Где: Dnepropetrovsk, U A Репутация: 1 Всего: 6 |
Ну почему же... Вот пример: maneken.kiev.ua
Всё разумно-резиновое... И меню тоже... Это сообщение отредактировал(а) Alone - 21.8.2006, 14:47 -------------------- |
|||
|
||||
| Хулиган |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 20.8.2006 Репутация: нет Всего: нет |
Вот про это и говорю, что некрасиво - при больших разрешениях справа остаётся пустая полоса, своего рода инородное тело в меню-баре.
|
|||
|
||||
| szz |
|
||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1289 Регистрация: 31.5.2005 Где: Moscow, Jerusalem Репутация: 8 Всего: 33 |
Я обычно в таких случаях именно так и делаю. Если хорошенько все продумать (сделать тянущийся бэкграунд для той "возможно пустой" области, чтоб сочеталась с меню) - то все выглядит очень даже красиво.
Поробуй, очень удобная, полновесная система. Главное приемущество - есть версии для Линукса и Мака. --------------------
|
||||||
|
|||||||
| Хулиган |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 20.8.2006 Репутация: нет Всего: нет |
Видимо так и придётся, делать фиксированную ширину и маскировать бэкграундом
|
|||
|
||||
| smartov |
|
||||
![]() свой собственный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4225 Регистрация: 2.2.2006 Где: NJ Репутация: 7 Всего: 259 |
Зачем? Почему нельзы показывать меню там, где находится родитель от которого оно должно выпадать? Не пойму что за пессимизм по поводу дороговизны стульев для трудящихся всех стран? 15 минут стараний и вот пример скрипта с прекрасным меню, которое тянется на всю ширину экрана с выпадающими Итемами (это конечно только пример, но остальное легко сделать по аналогии)
Checked in IE 6.0 SP2, Opera 9.01, Firefox 1.5.0.3 |
||||
|
|||||
![]()
|
| Правила форума "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. |