PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (1): [1]

> Найдено сообщений: 4
Sacerd_Alexey Отправлено: 29 Мая, 2007 - 05:17:52 • Тема: Что сделать для правильно отбражения сгенерированной страницы • Форум: Программирование на PHP

Ответов: 9
Просмотров: 631
Я вечером исходник выложу... посмотришь...

Кстати, разреши заметить, что я пользуюсь IE7 для проверки и опера
Sacerd_Alexey Отправлено: 28 Мая, 2007 - 21:16:30 • Тема: Что сделать для правильно отбражения сгенерированной страницы • Форум: Программирование на PHP

Ответов: 9
Просмотров: 631
Вот код который о котором мы говорим, но замечу что это опять не всё, т.к. кидать сюда 20 Кило в тексте нет смысла... да и исходная страница формируется их 30 слишним функий... которые сюда кидать бесмыслено... Если интересно, то на основе этой функции при разных значения $vid => формируется; баннер; поиск; верхнее, нижнее левое, правое меню; контент в виде форума, основных страниц, каталога, галереи и т.д.
она состоит из 8 подфункий... короче если интересно... стучи...

Просто попробуй второй код... и не забудь, что в начале формирования любой страницы идёт:
PHP:
скопировать код в буфер обмена
  1.  
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
  6. echo $title_meta;
  7. </nead>
  8. <body>

Ну конец сам допишешь, вот код который работает:
PHP:
скопировать код в буфер обмена
  1. <?
  2. function menu ($vid){
  3.         $menu = file ('config/menu');
  4.         $len = count($menu);
  5.         $width = 100/$len;
  6.         if ($vid == 'top') {?><table width="100%" align="center"><tr><? }
  7.         for ($i = 0; $i <= $len-1; $i++){
  8.                 $link = explode("|",$menu[$i]);
  9.                 if ($vid == 'top') {?><td width="<? echo $width; ?>%" height="20" nowrap="nowrap" align="center" class="top">
  10. <center><a class="top" href="<? echo $link[0]; ?>"><? echo $link[1] ?></a></center></td><? }
  11.                 if ($vid == 'bottom') {
  12.                         if ($i != $len) {?><a class="bottom" href="<? echo $link[0] ?>"><? echo $link[1]; ?></a>  |<?
  13.                                 } else {?>  <a class="bottom" href="<? echo $link[0]; ?>"><? echo $link[1]; ?></a>  <? }
  14.                 }
  15.                
  16.         }
  17.         if ($vid == 'top') {?></tr></table><? ;}
  18. }
  19. ?>

А вот который не работает:
PHP:
скопировать код в буфер обмена
  1. <?
  2. function menu ($vid){
  3.         $menu = file ('config/menu');
  4.         $len = count($menu);
  5.         $width = 100/$len;
  6.         if ($vid == 'top') {echo "<table width="100%" align="center"><tr>"; }
  7.         for ($i = 0; $i <= $len-1; $i++){
  8.                 $link = explode("|",$menu[$i]);
  9.                 if ($vid == 'top') {echo "<td width="".$width."%" height="20" nowrap="nowrap" align="center" class="top">
  10. <center><a class="top" href="".$link[0]."">".$link[1]."</a></center></td>"; }
  11.                 if ($vid == 'bottom') {
  12.                         if ($i != $len) {echo "  <a class="bottom" href="".$link[0]."">".$link[1]."</a>  |";
  13.                                 } else {echo "  <a class="bottom" href="".$link[0]."">".$link[1]."</a>  "; }
  14.                 }
  15.                
  16.         }
  17.         if ($vid == 'top') {echo "</tr></table>" ;}
  18. }
  19. ?>
И тоже самое если вместо печати сформировать строку и в конце её напечатать.

отмечу что файл 'config/menu' формируется динамически каждый раз в начале любой страницы и удаляется в конце сессии или при закрытии браузераи имеет следующий вид... это тоже кусок при формировании верхнего и нижнего меню...
PHP:
скопировать код в буфер обмена
  1.  
  2. index.php|Главная
  3. index.php?page=catalog|Каталог Продукции
  4. index.php?page=galery|Галерея
  5.  


Текст одинаковый получается за исключение того, что тег </a> на другой строке...
От этого можно избавится: проверка на предедущий символ и если перевод, то пишем код забоя, но и это не помогает...
Даже выравнивание и в таблице и <center>, а ссылка в данном случае всё равно слева... проверялось на разных хостах как платных так и бесплатных...

Есть пару страниц которые надо вывести только через текст, то есть формируется $html и когда заканчивается формирование вместо знака ожидания появляется текст... так вот... если его запихать в .html и передать управление, то работает, но у меня в том месте это не возможно... т.к. использован принцип вроде похожий на технологию ajax...

Суть такова... страница сидит в кэше и постояно на связи с страницой создания... кеш у пользователя только в ОЗУ --- НЕ в файле, копия синхронизации на сервере связана с сесией и браузером... при любом действии, что-то добавляется, что-то убирается из кэша... принцип работы по ссылкам без перегруза страницы... и там я эту проблему как в выше приведуном примере решить не могу... покуда передаются только переменные...

Надеюсь понял... если что мож в асу стучать, а то как то долго здесь...

А если кому будет интересно я потом оформурую и сюда закину...
В асю в любое время суток... милости просим!!! Радость

Сразу пощу прощения если где есть ошибки... просто окно для ввода сообщений маленькое. Про слеши сам знаешь...
Sacerd_Alexey Отправлено: 28 Мая, 2007 - 16:04:40 • Тема: Что сделать для правильно отбражения сгенерированной страницы • Форум: Программирование на PHP

Ответов: 9
Просмотров: 631
evgenijj пишет:
Как мы видим, функция file() возвращает МАССИВ, а функция explode в качестве второго аргументы ожидает СТРОКУ.

Дальнейшие вычисления не менее загадочны:
$len = count($text)-1;
$width = (int) (100/$len);


Там проценты просто забыл символ поставить... я здесь заново писал... стормозил надо было скопировать...

Дело в том что код:

и
PHP:
скопировать код в буфер обмена
  1. <? $text="<center>XXX</center";
  2. echo $text; ?>

Дают разный результат... т.к. первый код считается 'html', а второй код текст...
И при выводе вторая просто не центруется!!! Не понял
Я и хочу понять??? можно ли что-то зделать чтоб он понимал строку при выводе как 'html' в плане форматирования... т.к. в остальном нет нарушений...
Sacerd_Alexey Отправлено: 28 Мая, 2007 - 10:50:39 • Тема: Что сделать для правильно отбражения сгенерированной страницы • Форум: Программирование на PHP

Ответов: 9
Просмотров: 631
Здрасте!!! Радость
У меня такой вопрос.
Как можно сделать чтобы не сбивалось форматирование при отображении полностью сгенерированной страницы.
Ну например таблица:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $text = explode("|",file($file));
  3. $len = count($text)-1;
  4. $width = (int) (100/$len);
  5. unset($html);
  6. $html = "<table width="100%" align="center"><tr>";
  7. for ($i = 0; $i <= $len; $i++){
  8. $link = explode("|",$text[$i]);
  9.  
  10. //Это только часть кода
  11. $html = $html."<td width="".$len."" height="20" nowrap="nowrap" align="center" class="top"><a class="top" href="".$link[0]."">".$link[1]."</a></td>";
  12. //тут в оригенале стоит выбор меню или контент(печатаем ссылку или текст)
  13.  
  14. $html = $html."</tr></table>";
  15. echo $html;}
  16. ?>

По стилям должно быть по центру... это формирование меню и контента... на при любых тегах и стилях выравнивание по левому краю...
Как от этого ИЗБАВИТСЯ!:cry2::cry2::cry2: Замонался уже за неделю ужо!
(извините, но дроби где нужно не печатает)

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB