Проблема с Html формой в Php файле

  • Автор темы LANSELOT
  • Дата начала
L

LANSELOT

PHP:
<form method=post>
<input size="60" type="text" name="name" value=<?= $_POST['name']; ?>>
<input type="submit" value="Проверить">
</form>

Обработчик далее писать не буду, т.к. с ним проблем нет, проблема в IE
19040a6e739c.jpg

Подскажите нубу, что не так?
 
V

VadikV

Я бы написал вот так:
PHP:
<input size="60" type="text" name="name" value="<?php echo $_POST['name']; ?>">
 
L

LANSELOT

Пробовал и так, не помогло, пришлось удалить Vertrigo и поставить Denwer и все стало норм, видимо проблема была в php.ini
 
A

acorn

В php.ini просто были запрещены короткие теги, вместо <? --code-- ?> нужно было использовать <?php --code-- ?>
 
K

Kauperwood

скорее всего оффтоп но:
ИМХО - пора прекращать совать пхп код в html, хоть и сам так делал раньше, однако пора уже становится лучше.
например в корневом файле пишем:
PHP:
if ( !isset( $_GET['action'] ) ) $_GET['action'] = 'firstpage'; 
$actions = array(
firstpage,
getform,
form );
if ( !in_array( $_GET['action'], $actions ) ) $_GET['action'] = 'firstpage'; 

switch ( $_GET['action'] )
{
case 'firstpage': // главная страница к примеру
$content = getgeneralpage();
break; 
case 'getform':
$content = getform();
break;
case 'form':
$content = obrabothcikformi();
break;
default:
$content = getgeneralpage();
}

$menu = menu();
$html = file_get_contents( 'default.html' );
$html = str_replace( '{menu}', $menu, $html );
$html = str_replace( '{content}', $content, $html );

return $html;

файл с штмлом это default.html (сдесь это главный html файл со всеми подключениями ксс метатегов верификаций титлов и прочих дел, но как пример он почти пустой пустой):
Код:
<body>
<div id="menu">
{menu}
</div>
<div id="content">
{content}
</div>

что произойдет? php подменит строчки {menu} и {content} на значения переменной $menu и $content. Естественно перед этим в переменную можно вставить все что благоразумиями навеяно.

Что касается форм то это всего 2 функции для одного html файла, сдесь getform есть функция подключения html файла, а form её обработчик:
обявляеться функция getform:
PHP:
function getform() {
$html = file_get_contents( 'form.html' ); // 
$action = $_SERVER['PHP_SELF'].'?action=form'; // т.е ссылаемся на 2-ю функцию обработчик
$html = str_replace( '{action}', $action, $html); // в action формы вписываеться action="{action}", таким образом обработчик подхватит все переменные
$html = str_replace( '{name}', $name, $html );
$html = str_replace( '{lastname}', $lastname, $html );

return $html; 
}
что бы точно было понятно, form.html :
Код:
<form action="{action}">
<input type="text" name="name" value="{name}"/>
<input type="text" name="lastname" value="{lastname}"/>
</form>
Вторая функция обработчик подхватит переменные, сответственно там пишем все проверки и т.п
Вообщем то может этот пример будет немного не понятен, тогда пишите в личку, - попробую обьяснить лучше:)
 
1

1ive

Ага, ты это разработчикам WordPress расскажи, шаблонизатор не всегда уместен, это лишняя нагрузка в определенных проектах.
Удобства прибавляет только хомячкам c ucoz, где используется с самого зарождения проекта.

PHP "совать" в HTML можно, на то он и "Hypertext Preprocessor", другое дело это отделение классов и моделей от представления ( )
 
K

Kauperwood

конечно сколько людей, столько и вкусовых качеств.
- однако я смотрю на это с точки зрения удобства, во первых удобно читать код, по вторых нет тучи файлов в проекте, вы третих для частных случаев аля сайт визитка, магазин или какой либо сервис, пусть скажем даже в сто посетителей на день, удобно-удобненько будет думаю. Ничего про эти "высоконагруженные" не говорю, но и не думаю что у них там хаос с php файлами.
- А вордпрес, то их проблемы, я себе сам все сделаю)))) надеюсь :)
 
A

acorn

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

Iscander

А здесь вообще кто-нибудь слышал об паттернах проектирования и в частности MVC?
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!