Проблема с выводом строки на php
Есть такая проблемка, надеюсь подскажите...
в 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]
Вот при выводе через ехо ругается на синтаксис....Вродь пробовал дублировать кавычки.....не получается чтото
Экранируйте одиночные кавычки (т.е. поставьте \ перед каждой из них).
<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>
EOS;
о как! Век живи - век учись :) Возьму на заметку.
<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>
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]
// код перед 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
?>
Или ещё лучше:
// ...
include 'form.html';
// ...
?>
С другой стороны встраивать код напрямую в РНР тоже не лучшее решение, но порой бывает что именно оно наиболее оптимально.
С другой стороны встраивать код напрямую в РНР тоже не лучшее решение, но порой бывает что именно оно наиболее оптимально.
Smarty - я привел в пример. я в PHP не силен, я не знаю, что там есть легковесного и компактного. можно вот CTPP2 заюзать, он подо все есть и достаточно легкий.
я веду к тому, что надо сразу уметь отделять логику от представления. echo "<HTML>..." оправдано в пятистрочной формочке учета гаек в цеху.
юный падаван не научится ВНЕЗАПНО делать красиво и правильно, если 2-3 года обучения он лепил мешанину из HTML и PHP
Это да. С этим полностью согласен.
// код перед 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
?>
Или ещё лучше:
// ...
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
?>
выполняется последовательно
Ничего подобного. Кто мешает сделать так?
$var = ...;
if ($var) {
?>
<head>
</head>
<?php
} else {
?>
<unhead>
</unhead>
<?php
}
// ...
?>
[COLOR="DimGray"](про себя) Сколько раз уже кому-то помагал, а практически никто не додумывается нажать на кнопочку "спасибо" под аватарой... м-да.[/COLOR]
$var = ...;
if ($var) {
?>
<head>
</head>
<?php
} else {
?>
<unhead>
</unhead>
<?php
}
// ...
?>
Учите уже человека сразу нормальному примеру формирования html-кода. А то так и будет дальше.
А то как раз в данный момент разбираю двиг чата, чтобы внедрить в него одну вещь. Вот там ВЕСЬ код и шаблон в таком виде. Кастрировал бы прогера этого, ей богу.
Полностью поддерживаю такое мнение, просто я показываю возможные варианты задания/вывода строк. Имея голову на плечах, можно самому догадаться, к чему приведёт злоупотребление подобным(и) методами.
А про шаблонизаторы вроде Smarty squirL и RussianSpy уже всё доступно расписали.