Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: при включении в php кода HTML с переменной PHP...
 
 автор: Jo!   (14.01.2008 в 04:41)   письмо автору
 
 

hi all

Такой вот код включения в php кода HTML, СОДЕРЖАЩЕГО ПЕРЕМЕННУЮ PHP:

1. вызываем из php с помощью include.
2. а в HTML такая строка:
<form name="form1" action=send.php?lng=<? echo ($lng); ?>&page=send method=post>

Вопрос:
Что не правильно в строке HTML?
Почему она выводится в браузер с сервака не подставляя в $lng ее значение??
Может кто выложит ее правильную модификацию??

СПАСИБО

   
 
 автор: TXC   (14.01.2008 в 05:16)   письмо автору
 
   для: Jo!   (14.01.2008 в 04:41)
 

1) не пишите

<? echo ($lng); ?>


нужно так:

<?php echo ($lng); ?>


2) Возможно не инициализируется $lng . Проверьте правильность ее написания по всему коду.
3) Надо смотреть php-код, наверняка ошибка там.

   
 
 автор: Jo!   (14.01.2008 в 16:13)   письмо автору
 
   для: TXC   (14.01.2008 в 05:16)
 

1ый вариант отпадает. Все то же самое.

2ой вариант похоже, тоже. При замене переменной на строку "АБВГД" - результат тот же. А именно, В БРАУЗЕР ВЫВОДИТСЯ <?php echo "АБВГД" ?>, то есть ТЕГ НЕ ИНТЕРПРЕТИРУЕТСЯ НА СЕРВЕРЕ.

3ий вариант - возможные ошибки ищу, но не нахожу...


Дополнительно:
Вообще-то схема включения файла HTML такова:

index.php подключает php файл с нужной функцией, затем происходит ее вызов (с передачей переменной), затем, уже из этой функции включаем файл HTML с помощью кода:

$file_array = Array();
$file_array = file("abc.html");
$page=implode("",$file_array); (это нужно, чтобы формировать $page, потом к ней еще содержимое добавляется)

Ну, и вывод $page в браузер...

   
 
 автор: Jo!   (14.01.2008 в 16:31)   письмо автору
 
   для: Jo!   (14.01.2008 в 16:13)
 

Так, стоп.

С INCLUDE все работает!
А можно ли как-нибудь переменной присвоить значение include? (ну, вы понимаете, о чем я..)
А то с помощью file включенный в HTML код php не интерпретируется ...

   
 
 автор: TXC   (15.01.2008 в 08:43)   письмо автору
 
   для: Jo!   (14.01.2008 в 16:31)
 

С помощью file() код и не должен включаться для отработки. олько include(), include_once(), require(), require_once().

А на счет <? ?> можете не верить, но если у Вас сервер не настроен на блоки такого вида, то код у вас интерпретироваться не будет. И этот вариант есть не рекомендованный для употребления. Т.к. вполне, что его в любой момент могут снять. Так что лучше придерживаться <?php ?>. В случае перезда по хостингам и изменений в дистрибутиве меньше мороки будет.

И на будущее, описывайте ситуацию конкретнее. Ато догадаться, что у Вас в браузер php-код выводится было проблематично.

   
 
 автор: Jo!   (19.01.2008 в 05:57)   письмо автору
 
   для: TXC   (15.01.2008 в 08:43)
 

"ТЕГ НЕ ИНТЕРПРЕТИРУЕТСЯ НА СЕРВЕРЕ"
"В БРАУЗЕР ВЫВОДИТСЯ <?php "

Куда ж точнее и конкретнее??? :)

Ну да ладно, все равно спасибо.

А проблему решил следующим способом:
в HTML файле вообще убрал все теги PHP, оставив просто $переменные. При считывании из файла с помощью File() загнал в массив, затем прошелся по нему на предмет $переменная. И заменил их своими же значениями.

   
 
 автор: KPETuH   (19.01.2008 в 08:20)   письмо автору
 
   для: Jo!   (19.01.2008 в 05:57)
 

теперь объясните зачем вы проделали все эти извращения?

   
 
 автор: bronenos   (19.01.2008 в 09:11)   письмо автору
 
   для: Jo!   (19.01.2008 в 05:57)
 

А вам не кажется, что проще
1. Smarty
2. Наладить работу (в .php файле, либо .htaccess поправить на .html)
3. Повеситься на дошираке (на крайний случай)

   
 
 автор: KPETuH   (19.01.2008 в 13:44)   письмо автору
 
   для: Jo!   (14.01.2008 в 04:41)
 

если вы будете давать html файлам расширение php проблема ваша скорее всего решиться

   
 
 автор: Jo!   (21.01.2008 в 05:15)   письмо автору
 
   для: KPETuH   (19.01.2008 в 13:44)
 

ОБЪЯСНЯЮ зачем нужны были эти извращения :)
(ждал этого вопроса :)

Потому, что нужно формировать содержимое переменной (html страничка) и выводить ее на слой. Каждый раз содержимое разное в зависимости от некоторых параметров (например, язык сайта, или сама страничка другая. Соответственно - другой файл для вывода).
Одним словом, НУЖНО БЫЛО СОДЕРЖИМОЕ HTML ФАЙЛА загнать в переменную. А в файлах есть код PHP.

Ожидаю вопроса следующего уровня - "А зачем загонять файл в переменную?"
Так мы далеко уйдем... :)
Но кратко отвечу - реализована функция считывания контента файла (той или иной странички) и вывода его в определенные места на странице... echo $page.

   
 
 автор: bronenos   (21.01.2008 в 10:05)   письмо автору
 
   для: Jo!   (21.01.2008 в 05:15)
 

Smarty

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования