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 :: Вопрос про echo

 PHP.SU

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


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

> Без описания
Sercher
Отправлено: 16 Октября, 2010 - 23:28:13
Post Id



Новичок


Покинул форум
Сообщений всего: 14
Дата рег-ции: Окт. 2010  


Помог: 0 раз(а)




будет ли работать конструкция echo $text
где $text включает в себя тег <?php (операторы) ?>
т.к. я только начинаю изучать php самому проверить сложно, в основном пока ковыряюсь в чужом коде и переписывать сайт полностью очень не хочется Недовольство, огорчение настроить отладчик полностью не получается. Дело в том что шеф заказал сайт его сделали без моего участия, и разработчики не озаботились обновлением данных. Теперь придется либо его дорабатывать либо бесконечно обновлять, т.к. кроме меня этого никто не сделает.
Если подобная конструкция работает у меня все получится, если нет.... будем думать

дело в том что разработчики использовали такой способ отображения страницы, как по мне так перебор, но... переписывать очень не хочу Недовольство, огорчение

(Отредактировано автором: 16 Октября, 2010 - 23:31:13)

 
 Top
Asuma
Отправлено: 16 Октября, 2010 - 23:41:56
Post Id



Новичок


Покинул форум
Сообщений всего: 16
Дата рег-ции: Окт. 2010  
Откуда: Moscow


Помог: 0 раз(а)




Перед тем как вывести $text, нужно заменить html символы.
А сделать это можно вот так:


-----
Платное обучение/написание скриптов на PHP, icq 473364.
 
 Top
Sercher
Отправлено: 16 Октября, 2010 - 23:50:49
Post Id



Новичок


Покинул форум
Сообщений всего: 14
Дата рег-ции: Окт. 2010  


Помог: 0 раз(а)




Asuma пишет:
Перед тем как вывести $text, нужно заменить html символы.
А сделать это можно вот так:


при чем тут html символы? мне как раз их нужно оставить, дело в том что моя страница именно так и формируется, в переменной $text сидит вся страничка, вместе с <!DOCTYPE html PUBLIC...., <head>
<link href=/template/images/avatar.png type="ico" rel="icon">
<Meta....
и т.д. просто менюшка полностью прописана в этом шаблоне, а она должна быть динамичной ;(
во всем php файле только один ЕХО последней строкой, и весь скрипт только и занят формированием этой странички, там и javascriptы есть и тд и тп

или я чего не понял?

(Отредактировано автором: 16 Октября, 2010 - 23:51:55)

 
 Top
Asuma
Отправлено: 16 Октября, 2010 - 23:54:11
Post Id



Новичок


Покинул форум
Сообщений всего: 16
Дата рег-ции: Окт. 2010  
Откуда: Moscow


Помог: 0 раз(а)




Что мешает сгенерировать меню заранее?
Можете использовать .=, пример:

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. $text = 'hi';
  3. // значение $text = hi.
  4. $text .= 'hello';
  5. // значение $text = hihello
  6.  


P.S. Учитесь правильно задавать свои вопросы.


-----
Платное обучение/написание скриптов на PHP, icq 473364.
 
 Top
Sercher
Отправлено: 16 Октября, 2010 - 23:59:56
Post Id



Новичок


Покинул форум
Сообщений всего: 14
Дата рег-ции: Окт. 2010  


Помог: 0 раз(а)




судя по ответам мы на разных языках говорим Недовольство, огорчение
я задал вопрос
будет ли работать конструкция echo $text,
где $text - текстовая (вся страница) переменная содержащая тег <?php (операторы) ?>

и мне интересно будет ли исполнены (операторы)?
если да - я перепишу шаблон с использованием запросов к мускулу, если нет придется переписывать весь сайт
 
 Top
Asuma
Отправлено: 17 Октября, 2010 - 00:02:34
Post Id



Новичок


Покинул форум
Сообщений всего: 16
Дата рег-ции: Окт. 2010  
Откуда: Moscow


Помог: 0 раз(а)




Наверное если я говорю другие способы, то нет?
PHP код в переменных будет проигнорирован.

(Отредактировано автором: 17 Октября, 2010 - 00:03:24)



-----
Платное обучение/написание скриптов на PHP, icq 473364.
 
 Top
Sercher
Отправлено: 17 Октября, 2010 - 00:08:05
Post Id



Новичок


Покинул форум
Сообщений всего: 14
Дата рег-ции: Окт. 2010  


Помог: 0 раз(а)




Asuma пишет:
Наверное если я говорю другие способы, то нет?
PHP код в переменных будет проигнорирован.


вот! спасибо, на будущее не нужно никого поучать если не просят, или все таки сначала ответьте на вопрос, хотя конечно жаль придется все переделывать Недовольство, огорчение, разработчики - ламеры, если даже я вижу что все сделано криво
 
 Top
Asuma
Отправлено: 17 Октября, 2010 - 00:09:47
Post Id



Новичок


Покинул форум
Сообщений всего: 16
Дата рег-ции: Окт. 2010  
Откуда: Moscow


Помог: 0 раз(а)




Надеюсь вам не придется все переписывать, просто сгенерируйте меню заранее, и воспользуйтесь советом выше.

(Отредактировано автором: 17 Октября, 2010 - 00:11:28)



-----
Платное обучение/написание скриптов на PHP, icq 473364.
 
 Top
Sercher
Отправлено: 17 Октября, 2010 - 00:20:03
Post Id



Новичок


Покинул форум
Сообщений всего: 14
Дата рег-ции: Окт. 2010  


Помог: 0 раз(а)




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

Крик души: Как могли люди занимающиеся написанием страниц за деньги сделать такое фуфло, дизайном шеф доволен но программой блин.... я не то что не доволен, я в бешенстве, на нормального программера шеф денег больше не даст! придется мне скромному программисту 1С ковырять этот сайт, блин хотя бы премию дал

ладно зато научусь Улыбка

(Отредактировано автором: 17 Октября, 2010 - 00:21:35)

 
 Top
OrmaJever Модератор
Отправлено: 17 Октября, 2010 - 00:40:51
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




А зачем писать
PHP:
скопировать код в буфер обмена
  1.  
  2. $text = '<?PHP  ( ... ) ?>';
  3. echo $text;

в любом случаи это выведет сам php код на экран.

Как я прочитал выше есть менюшка в шаблоне и нужно зделать её динамичной.
Можно зделать как делают вовсех движках. Например
файл шаблона.
CODE (html):
скопировать код в буфер обмена
  1. <html>
  2. <head>
  3. ( ... )
  4. </head>
  5. <body>
  6. ( ... )
  7. %menu%
  8. ( ... )
  9. </body>
  10. </html>

index.php
PHP:
скопировать код в буфер обмена
  1.  
  2. $menu = ''; // html код меню
  3. $file = file_get_contents('файл шаблона'); // открытьфайл шаблона
  4. str_replace('%menu%', $menu, $file); // заменем %menu% на содержимое переменой
  5. echo $file; // выводим
  6.  


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
igordata
Отправлено: 17 Октября, 2010 - 00:44:34
Post Id


Новичок


Покинул форум
Сообщений всего: 13
Дата рег-ции: Май 2010  


Помог: 0 раз(а)




в таком случае легко спаси ситуацию через ob_start и тому подобным штукам.

берете код свой, засовываете между ob_
берете переменную свою и пихаете в нее результат.

После того как проделали это для всех нужных блоков - уже спокойно склеиваете странички

при чем для пхп пустая текстовая переменная может использоваться в if как false. пример:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $str = 'dfdfdfdf';
  4. if ($str) { echo "Your str variable is '$str'";}
  5.  
 
 Top
igordata
Отправлено: 17 Октября, 2010 - 00:45:45
Post Id


Новичок


Покинул форум
Сообщений всего: 13
Дата рег-ции: Май 2010  


Помог: 0 раз(а)




да, кстати, для извращенцев всегда есть "злая" функция - eval - но это немного для других случаев.
(Добавление)
меню прямо в пхп храните со всем чем надо хтмл и всем чем надо кодом пхп
PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. $head = '';
  4. include ('head.php');
  5. $head = ob_get_contents();
  6.  
  7. $menu = '';
  8. include ('menu.php');
  9. $menu = ob_get_contents();
  10.  
  11. // и так далее
  12. // а когда все готово - вставляйте уже готовые куски куда хотите.
  13.  
  14. $file = file_get_contents('файл шаблона'); // открытьфайл шаблона
  15. str_replace('%head%', $head, $file);
  16. str_replace('%menu%', $menu, $file);
  17.  

так можно всю страницу сделать, а после уже сляпать

причем легко можно из самой страницы залезть во все остальные места - добавить ченить в меню, например =)
Это если конечно она идет последняя
 
 Top
Sercher
Отправлено: 17 Октября, 2010 - 07:58:13
Post Id



Новичок


Покинул форум
Сообщений всего: 14
Дата рег-ции: Окт. 2010  


Помог: 0 раз(а)




Спасибо всем, собственно я уже так и решил кромсать, просто из шаблона вырежу это ламерство, заменю на чего-нить замечательное типа %menu% или подобное (они этим способом пользовались), просто вечером когда голова напихана всяким новым непотребством из ПХП сложно увидеть решение, добавлю еще один str_replace.
использование exec это не мой случай, насчет ob, я еще не настолько хорошо знаю ПХП чтобы метод использовать, но мне кажется "кина не будет" самый простой и красивый способ в моей ситуёвине все-таки %menu%

Теперь вкратце о моей проблемке, сайт - типа прайса. сверху меню по разделам, сбоку слева навигация по группам товаров у каждой группы есть подгруппа, товаров по самым скромным подсчетам около 3000, изначально разработчики предлагали набивать все вручную (психи), я настоял чтобы добавилась подгрузка в мускул данных из файла, Т.О. файлы картинок сгружаются по ФТП, а данные о ценах, названиях и т.д в файле который подгружается через админку, они и тут отмочили хохму обработали ексель, хотя я просил любой текстовый формат, разобраться в ексель ридере без поллитры не выйдет, но это будет потом ;)
так вот вся боковая навигационная панель жестко зашита в шаблон и для внесения изменений в структуру данных менять придется чуть ли не пол сайта: там чуть-чуть, там чуток, какие-то "фичи" поменять Не понял они даже в ПХП сделали case для проверки чего нажато.
я даже не знаю как это создание (сайт) поточнее назвать, разве что очень хотят чтобы я не справился с сопровождением, и хотят дальше стричь бабки

В любом случае, всем спасибо, очень помогли, уже вижу свет в конце тоннеля (правда тоннель, сука, не кончается) Радость
 
 Top
Asuma
Отправлено: 17 Октября, 2010 - 10:19:16
Post Id



Новичок


Покинул форум
Сообщений всего: 16
Дата рег-ции: Окт. 2010  
Откуда: Moscow


Помог: 0 раз(а)




P.S. strtr лучше чем str_replace. =)


-----
Платное обучение/написание скриптов на PHP, icq 473364.
 
 Top
Sercher
Отправлено: 17 Октября, 2010 - 11:22:07
Post Id



Новичок


Покинул форум
Сообщений всего: 14
Дата рег-ции: Окт. 2010  


Помог: 0 раз(а)




Asuma пишет:
P.S. strtr лучше чем str_replace. =)


почему?
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB