Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Проблема с выводом строки на php

44K
01 марта 2010 года
rayvoid
25 / / 30.11.2009
Здравствуйте!

Есть такая проблемка, надеюсь подскажите...

в html: (всё работает чудесно)

<FORM NAME="myForm">
Имя формы:<INPUT TYPE="text" NAME="text1" VALUE="Beluga" onClick="this.form.text1.value=''">
<P>
<INPUT NAME="button1" TYPE="button" VALUE="Показать Имя Формы"
onClick="this.form.text1.value=this.form.name">
</FORM>

в php: (матерится на синтаксис???????)

[COLOR="Red"]echo '[/COLOR]
<FORM NAME="myForm">
Имя формы:<INPUT TYPE="text" NAME="text1" VALUE="Beluga" onClick="this.form.text1.value=''">
<P>
<INPUT NAME="button1" TYPE="button" VALUE="Показать Имя Формы"
onClick="this.form.text1.value=this.form.name">
</FORM>
[COLOR="red"]';[/COLOR]

Вот при выводе через ехо ругается на синтаксис....Вродь пробовал дублировать кавычки.....не получается чтото
244
01 марта 2010 года
UAS
2.0K / / 19.07.2006
Цитата:
onClick="this.form.text1.value=''"


Экранируйте одиночные кавычки (т.е. поставьте \ перед каждой из них).

44K
01 марта 2010 года
rayvoid
25 / / 30.11.2009
Спасибо попробую! Отпишусь..
253
01 марта 2010 года
Proger_XP
1.5K / / 07.08.2004
В этом конкретном случае удобнее использовать heredoc:
 
Код:
echo <<<EOS
<FORM NAME="myForm">
Имя формы:<INPUT TYPE="text" NAME="text1" VALUE="Beluga" &#111;&#110;Click="this.form.text1.value=''">
<P>
<INPUT NAME="button1" TYPE="button" VALUE="Показать Имя Формы"
&#111;&#110;Click="this.form.text1.value=this.form.name">
</FORM>
EOS
;
325
01 марта 2010 года
Franky
723 / / 10.08.2005
Proger_XP
о как! Век живи - век учись :) Возьму на заметку.
253
01 марта 2010 года
Proger_XP
1.5K / / 07.08.2004
Все возможные способы задания строк можно посмотреть в мане.
44K
02 марта 2010 года
rayvoid
25 / / 30.11.2009
Цитата: Proger_XP
В этом конкретном случае удобнее использовать heredoc:
 
Код:
echo <<<EOS
<FORM NAME="myForm">
Имя формы:<INPUT TYPE="text" NAME="text1" VALUE="Beluga" &#111;&#110;Click="this.form.text1.value=''">
<P>
<INPUT NAME="button1" TYPE="button" VALUE="Показать Имя Формы"
&#111;&#110;Click="this.form.text1.value=this.form.name">
</FORM>
EOS
;



Это работает как надо: в html я получаю:

[COLOR="Gray"]<FORM NAME="myForm">
Имя формы:<INPUT TYPE="text" NAME="text1" VALUE="Beluga" onClick="this.form.text1.value=''">
<P>
<INPUT NAME="button1" TYPE="button" VALUE="Показать Имя Формы"
onClick="this.form.text1.value=this.form.name">
</FORM>
</body>[/COLOR]

2
02 марта 2010 года
squirL
5.6K / / 13.08.2003
мне кажется, лучше не извращаться, а сразу отказаться от фимозной практики вывода HTML в коде. use templates, luke...
253
02 марта 2010 года
Proger_XP
1.5K / / 07.08.2004
Кстати да, squirL прав - тут вообще можно сделать
Код:
<?
// код перед html
?>
<FORM NAME="myForm">
Имя формы:<INPUT TYPE="text" NAME="text1" VALUE="Beluga" &#111;&#110;Click="this.form.text1.value=''">
<P>
<INPUT NAME="button1" TYPE="button" VALUE="Показать Имя Формы"
&#111;&#110;Click="this.form.text1.value=this.form.name">
</FORM>
<?
// код после html
?>


Или ещё лучше:
 
Код:
<?
// ...
include 'form.html';
// ...
?>
2
02 марта 2010 года
squirL
5.6K / / 13.08.2003
а еще лучше - взять Smarty, Zend View, CTPP2
13
02 марта 2010 года
RussianSpy
3.0K / / 04.07.2006
А еще лучше оценивать каждый конкретный случай индивидуально. Тащить за собой тысячи строк говнокода в виде смарти библиотек далеко не всегда самое лучшее и самое оптимальное решение.

С другой стороны встраивать код напрямую в РНР тоже не лучшее решение, но порой бывает что именно оно наиболее оптимально.
2
02 марта 2010 года
squirL
5.6K / / 13.08.2003
Цитата: RussianSpy
А еще лучше оценивать каждый конкретный случай индивидуально. Тащить за собой тысячи строк говнокода в виде смарти библиотек далеко не всегда самое лучшее и самое оптимальное решение.

С другой стороны встраивать код напрямую в РНР тоже не лучшее решение, но порой бывает что именно оно наиболее оптимально.


Smarty - я привел в пример. я в PHP не силен, я не знаю, что там есть легковесного и компактного. можно вот CTPP2 заюзать, он подо все есть и достаточно легкий.

я веду к тому, что надо сразу уметь отделять логику от представления. echo "<HTML>..." оправдано в пятистрочной формочке учета гаек в цеху.
юный падаван не научится ВНЕЗАПНО делать красиво и правильно, если 2-3 года обучения он лепил мешанину из HTML и PHP

13
02 марта 2010 года
RussianSpy
3.0K / / 04.07.2006
Цитата: squirL
юный падаван не научится ВНЕЗАПНО делать красиво и правильно, если 2-3 года обучения он лепил мешанину из HTML и PHP


Это да. С этим полностью согласен.

44K
03 марта 2010 года
rayvoid
25 / / 30.11.2009
Цитата: Proger_XP
Кстати да, squirL прав - тут вообще можно сделать
Код:
<?
// код перед html
?>
<FORM NAME="myForm">
Имя формы:<INPUT TYPE="text" NAME="text1" VALUE="Beluga" &#111;&#110;Click="this.form.text1.value=''">
<P>
<INPUT NAME="button1" TYPE="button" VALUE="Показать Имя Формы"
&#111;&#110;Click="this.form.text1.value=this.form.name">
</FORM>
<?
// код после html
?>


Или ещё лучше:
 
Код:
<?
// ...
include 'form.html';
// ...
?>


Дело в том, что весь этот хтмл нужно выводить, если выполняется условие.., а если
<?
// код перед html
?>
<FORM NAME="myForm">
Имя формы:<INPUT TYPE="text" NAME="text1" VALUE="Beluga" onClick="this.form.text1.value=''">
<P>
<INPUT NAME="button1" TYPE="button" VALUE="Показать Имя Формы"
onClick="this.form.text1.value=this.form.name">
</FORM>
<?
// код после html
?>

выполняется последовательно

253
03 марта 2010 года
Proger_XP
1.5K / / 07.08.2004
Цитата: rayvoid
Дело в том, что весь этот хтмл нужно выводить, если выполняется условие.., выполняется последовательно


Ничего подобного. Кто мешает сделать так?

Код:
<?php
$var = ...;
if ($var) {
?>
<head>
</head>
<?php
} else {
?>
<unhead>
</unhead>
<?php
}
// ...
?>
44K
03 марта 2010 года
rayvoid
25 / / 30.11.2009
Ухты я думаю, всё что не пхп выполняется линейно....Спасибо!
253
03 марта 2010 года
Proger_XP
1.5K / / 07.08.2004
Пожалуйста.

[COLOR="DimGray"](про себя) Сколько раз уже кому-то помагал, а практически никто не додумывается нажать на кнопочку "спасибо" под аватарой... м-да.[/COLOR]
244
03 марта 2010 года
UAS
2.0K / / 19.07.2006
Цитата: Proger_XP
Ничего подобного. Кто мешает сделать так?
Код:
<?php
$var = ...;
if ($var) {
?>
<head>
</head>
<?php
} else {
?>
<unhead>
</unhead>
<?php
}
// ...
?>



Учите уже человека сразу нормальному примеру формирования html-кода. А то так и будет дальше.

А то как раз в данный момент разбираю двиг чата, чтобы внедрить в него одну вещь. Вот там ВЕСЬ код и шаблон в таком виде. Кастрировал бы прогера этого, ей богу.

253
03 марта 2010 года
Proger_XP
1.5K / / 07.08.2004
Цитата: UAS
Учите уже человека сразу нормальному примеру формирования html-кода. А то так и будет дальше.


Полностью поддерживаю такое мнение, просто я показываю возможные варианты задания/вывода строк. Имея голову на плечах, можно самому догадаться, к чему приведёт злоупотребление подобным(и) методами.

А про шаблонизаторы вроде Smarty squirL и RussianSpy уже всё доступно расписали.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог