Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Что сделать для правильно отбражения сгенерированной страницы
Покинул форум
Сообщений всего: 4
Дата рег-ции: Май 2007 Откуда: Казань
Помог: 0 раз(а)
Здрасте!!!
У меня такой вопрос.
Как можно сделать чтобы не сбивалось форматирование при отображении полностью сгенерированной страницы.
Ну например таблица:
//тут в оригенале стоит выбор меню или контент(печатаем ссылку или текст)
$html=$html."</tr></table>";
echo$html;}
?>
По стилям должно быть по центру... это формирование меню и контента... на при любых тегах и стилях выравнивание по левому краю...
Как от этого ИЗБАВИТСЯ!:cry2::cry2::cry2: Замонался уже за неделю ужо!
(извините, но дроби где нужно не печатает)
evgenijj
Отправлено: 28 Мая, 2007 - 14:11:00
Участник
Покинул форум
Сообщений всего: 1212
Дата рег-ции: Авг. 2006 Откуда: Москва
Помог: 10 раз(а)
Знаешь, твой стиль программирования вызывает некоторое недоумение. Поясню:
$text = explode("|",file($file));
Как мы видим, функция file() возвращает МАССИВ, а функция explode в качестве второго аргументы ожидает СТРОКУ.
Дальнейшие вычисления не менее загадочны:
$len = count($text)-1;
$width = (int) (100/$len);
Я не знаю, что ты получаешь в качестве значения переменной $len, но пикселы там явно не получаются. А указываешь ты именно пикселы в качестве значения атрибута width тега <td>. Если же это проценты, то надо это указать width="20%": http://htmlbook[dot]ru/html/td[dot]html
Давай ты сперва отладишь свой скрипт, а потом мы посморим на верстку?
Дают разный результат... т.к. первый код считается 'html', а второй код текст...
И при выводе вторая просто не центруется!!!
Я и хочу понять??? можно ли что-то зделать чтоб он понимал строку при выводе как 'html' в плане форматирования... т.к. в остальном нет нарушений...
evgenijj
Отправлено: 28 Мая, 2007 - 17:08:48
Участник
Покинул форум
Сообщений всего: 1212
Дата рег-ции: Авг. 2006 Откуда: Москва
Дают разный результат... т.к. первый код считается 'html', а второй код текст...
Ничего подобного! Браузер, который показывает сформатированный текст (HTML) не имеет ни малейшего представления о том, был ли этот html сверстан человеком, или сформирован CGI-сценарием. Посмотри, что сгенерировал твой скрипт. Вообще, в данном случае достаточно было просто показать html, который формируется php-скриптом.
P.S. Вот этот кусок кода тоже вызывает удивление - один открывающий тег <table> и несколько закрывающих. Да и echo $html; должно быть за пределами цикла.
Покинул форум
Сообщений всего: 4
Дата рег-ции: Май 2007 Откуда: Казань
Помог: 0 раз(а)
Вот код который о котором мы говорим, но замечу что это опять не всё, т.к. кидать сюда 20 Кило в тексте нет смысла... да и исходная страница формируется их 30 слишним функий... которые сюда кидать бесмыслено... Если интересно, то на основе этой функции при разных значения $vid => формируется; баннер; поиск; верхнее, нижнее левое, правое меню; контент в виде форума, основных страниц, каталога, галереи и т.д.
она состоит из 8 подфункий... короче если интересно... стучи...
Просто попробуй второй код... и не забудь, что в начале формирования любой страницы идёт:
И тоже самое если вместо печати сформировать строку и в конце её напечатать.
отмечу что файл 'config/menu' формируется динамически каждый раз в начале любой страницы и удаляется в конце сессии или при закрытии браузераи имеет следующий вид... это тоже кусок при формировании верхнего и нижнего меню...
Текст одинаковый получается за исключение того, что тег </a> на другой строке...
От этого можно избавится: проверка на предедущий символ и если перевод, то пишем код забоя, но и это не помогает...
Даже выравнивание и в таблице и <center>, а ссылка в данном случае всё равно слева... проверялось на разных хостах как платных так и бесплатных...
Есть пару страниц которые надо вывести только через текст, то есть формируется $html и когда заканчивается формирование вместо знака ожидания появляется текст... так вот... если его запихать в .html и передать управление, то работает, но у меня в том месте это не возможно... т.к. использован принцип вроде похожий на технологию ajax...
Суть такова... страница сидит в кэше и постояно на связи с страницой создания... кеш у пользователя только в ОЗУ --- НЕ в файле, копия синхронизации на сервере связана с сесией и браузером... при любом действии, что-то добавляется, что-то убирается из кэша... принцип работы по ссылкам без перегруза страницы... и там я эту проблему как в выше приведуном примере решить не могу... покуда передаются только переменные...
Надеюсь понял... если что мож в асу стучать, а то как то долго здесь...
А если кому будет интересно я потом оформурую и сюда закину...
В асю в любое время суток... милости просим!!!
Сразу пощу прощения если где есть ошибки... просто окно для ввода сообщений маленькое. Про слеши сам знаешь...
evgenijj
Отправлено: 29 Мая, 2007 - 00:16:11
Участник
Покинул форум
Сообщений всего: 1212
Дата рег-ции: Авг. 2006 Откуда: Москва
Покинул форум
Сообщений всего: 4
Дата рег-ции: Май 2007 Откуда: Казань
Помог: 0 раз(а)
Я вечером исходник выложу... посмотришь...
Кстати, разреши заметить, что я пользуюсь IE7 для проверки и опера
evgenijj
Отправлено: 29 Мая, 2007 - 08:48:58
Участник
Покинул форум
Сообщений всего: 1212
Дата рег-ции: Авг. 2006 Откуда: Москва
Помог: 10 раз(а)
Sacerd_Alexey пишет:
Я вечером исходник выложу... посмотришь...
Кстати, разреши заметить, что я пользуюсь IE7 для проверки и опера
Тяжело с тобой. Есть два скрипта, один из которых, по твоим словам, работает некорректно. Я проверил работу и того ( функция menu1() ) и другого ( функция menu2() ).Обе функции формируют одинаковый html, который корректно отображается браузерами (и MS IE и Opera и Firefox).
Если имеется ввиду формирование ссылок для $vid="bottom" то там и нет никаких стилей. Три строчных (уровня строки) элемента <a> - так они именно так и должны располагаться на странице (выравнивание влево).
Попробуй сосредоточиться, собраться с силами и конкретно указать, наконец, что у тебя за проблема?
* скрипт формирует некорректный html, который неправильно показывает браузер
* глюк с отдельно взятым браузером, который некорректно показывает корректный html
* что-то еще
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.