Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как закинуть html cnраницу в ob_start, нужно созранить страницу,но теги мешают 
:(
    Опции темы
kelario
Дата 23.11.2009, 12:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 19.9.2008

Репутация: нет
Всего: нет



Доброе утро понедельника.

У меня есть html страница.Мне нужно записать в неё х значения и сохранить.
Код

<?
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
   $name= trim($_POST['name']);
   $category = trim($_POST['category']);
   $location = trim($_POST['location']);
   $webpage = trim($_POST['webpage']);
   $keyword = trim($_POST['keyword']);
   }


ob_start();  

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Документ без названия</title>
</head>

<body>
<table width="943" height="128" border="1" bordercolor="#9933CC"cellpadding="0" cellspacing="0" >
  <tr>
    <td width="221" rowspan="4">&nbsp;</td>
    <td width="89">Name</td>
    <td width="148"> echo $name; </td>
    <td width="226"><div align="center">DESCRIPTION</div></td>
    <td width="122">&nbsp;</td>
    <td width="111">&nbsp;</td>
  </tr>
  <tr>
    <td>PRODUCT CATEGORY</td>
    <td>echo $category; </td>
    <td rowspan="3"> echo $keyword; </td>
    <td>&nbsp;</td>
    <td>12</td>
  </tr>
  <tr>
    <td>LOCATION</td>
    <td> echo $location; </td>
    <td>&nbsp;</td>
    <td>32</td>
  </tr>
  <tr>
    <td>WEB PAGE</td>
    <td> echo $webpage; </td>
    <td>&nbsp;</td>
    <td>43</td>
  </tr>
</table>
</body>
</html>
$content = ob_get_contents();
ob_end_clean();
file_put_contents();
?>


естественно php встретив html теги начинает ругаться.Как это обойти и сохранить файл ? Может есть альтернатива ob-start ?

Спасибо.
PM MAIL   Вверх
MoLeX
Дата 23.11.2009, 12:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 46
Всего: 140



Код

<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
   $name= trim($_POST['name']);
   $category = trim($_POST['category']);
   $location = trim($_POST['location']);
   $webpage = trim($_POST['webpage']);
   $keyword = trim($_POST['keyword']);
   }
ob_start(); 

echo '
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Документ без названия</title>
</head>
<body>
<table width="943" height="128" border="1" bordercolor="#9933CC"cellpadding="0" cellspacing="0" >
  <tr>
    <td width="221" rowspan="4">&nbsp;</td>
    <td width="89">Name</td>
    <td width="148">'.$name.'</td>
    <td width="226"><div align="center">DESCRIPTION</div></td>
    <td width="122">&nbsp;</td>
    <td width="111">&nbsp;</td>
  </tr>
  <tr>
    <td>PRODUCT CATEGORY</td>
    <td>'.$category.'</td>
    <td rowspan="3"> echo $keyword; </td>
    <td>&nbsp;</td>
    <td>12</td>
  </tr>
  <tr>
    <td>LOCATION</td>
    <td>'.$location.'</td>
    <td>&nbsp;</td>
    <td>32</td>
  </tr>
  <tr>
    <td>WEB PAGE</td>
    <td>'.$webpage.'</td>
    <td>&nbsp;</td>
    <td>43</td>
  </tr>
</table>
</body>
</html>';
$content = ob_get_contents();
ob_end_clean();
file_put_contents();
?>


Добавлено через 53 секунды
kelario, 
1. необходимо изучить основы PHP и HTML
2. в скрипты вставляй
Код

//    Отображение ошибок
error_reporting(E_ALL);




--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
Ипатьев
Дата 23.11.2009, 12:52 (ссылка) |  (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



Чтобы РНР не ругался, надо просто сказать ему, что дальше идут теги

Код

<?
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
   $name= trim($_POST['name']);
   $category = trim($_POST['category']);
   $location = trim($_POST['location']);
   $webpage = trim($_POST['webpage']);
   $keyword = trim($_POST['keyword']);
   }
ob_start();  
<head>
?>



очень просто

а еще лучше - вообще не использовать неочевидный механизм, смысл которого вам непонятен.
Для чего понадобилось "закидывать" страницу в ob_start()?

Это сообщение отредактировал(а) Ипатьев - 23.11.2009, 12:54
PM MAIL   Вверх
MoLeX
Дата 23.11.2009, 13:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 46
Всего: 140



Цитата(Ипатьев @  23.11.2009,  12:52 Найти цитируемый пост)
Код

ob_start();  
<head>
?>

не пройдет  smile 


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
kelario
Дата 23.11.2009, 16:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 19.9.2008

Репутация: нет
Всего: нет



Код

echo '<html>'


Спасибо! Это так очевидно было,но за неимением опыта я об этом даже не подумал.Основы PHP конечно знать надо,но обучаться по ходу дела все же легче и интереснее.

    
Цитата

<?
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
   $name= trim($_POST['name']);
   $category = trim($_POST['category']);
   $location = trim($_POST['location']);
   $webpage = trim($_POST['webpage']);
   $keyword = trim($_POST['keyword']);
   }
ob_start();  
<head>
?>

очень просто
а еще лучше - вообще не использовать неочевидный механизм, смысл которого вам непонятен.
Для чего понадобилось "закидывать" страницу в ob_start()?


разве встретив ?> пхп не прекратит обрабатывать дальнейший код ?

на счет того,зачем мне ob_start

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

1. необходимо изучить основы PHP


если подскажите как сделать это правильнее,буду только рад smile 

Спасибо.

Это сообщение отредактировал(а) kelario - 23.11.2009, 17:01
PM MAIL   Вверх
Ипатьев
Дата 23.11.2009, 17:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



Цитата(kelario @  23.11.2009,  16:54 Найти цитируемый пост)
разве встретив ?> пхп не прекратит обрабатывать дальнейший код ?

прекратит. пока не встретит следующий <?

Обычно страницы создаются скриптом безо всякого буферинга.
Скрипту передаются параметры, на основании которых он и строит страницу
PM MAIL   Вверх
kelario
Дата 23.11.2009, 17:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 19.9.2008

Репутация: нет
Всего: нет



Цитата

прекратит. пока не встретит следующий <?


следовательно то,что между двумя ? в ob_start не попадет,ведь так?




PM MAIL   Вверх
Ипатьев
Дата 23.11.2009, 17:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



А куда оно должно пропасть? И зачем?
PHP изначально задумывался так, чтобы в противовес перлу у него ошибки могли выводиться на экран и его можно было встраивать прямо в HTML
И только потом выяснилось, что и то и другое - неправильно smile 
PM MAIL   Вверх
kelario
Дата 23.11.2009, 17:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 19.9.2008

Репутация: нет
Всего: нет



Цитата

А куда оно должно попасть? И зачем?


В файл Х-нный  с  новыми значениями переменных.Понятно, что 
Цитата
Обычно страницы создаются скриптом безо всякого буферинга.

 но тем не менее smile
PM MAIL   Вверх
Ипатьев
Дата 23.11.2009, 17:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



Не понял этого "но тем не менее".
вы уже сделали хоть один сайт по обычной схеме?
или вас что-то не устраивает из теоретических соображений?
PM MAIL   Вверх
kelario
Дата 23.11.2009, 18:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 19.9.2008

Репутация: нет
Всего: нет



Не цепляйтесь так к словам. smile 

меня все утсраивает,просто хочется закончить то,что начал.
PM MAIL   Вверх
bars80080
Дата 23.11.2009, 18:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



Цитата(kelario @  23.11.2009,  17:15 Найти цитируемый пост)
Не цепляйтесь так к словам

да никто не цепляется, просто хочется знать - зачем?

вот я никогда не пользовался всякими ob_, а потому интересно, какая цель может сподвигнуть на это действие
PM MAIL WWW   Вверх
kelario
Дата 23.11.2009, 18:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 19.9.2008

Репутация: нет
Всего: нет



Зачем - я писал выше.Использую ob_ попросту потому,что это первое,что попалось мне под руку.Я осознаю,что можно как то сделать проще и быстрее,но просто я не знаю как smile 
Если кто ни будь поделится ссылочкой на скрипт дающий нужный результат,буду признателен.
PM MAIL   Вверх
Ипатьев
Дата 23.11.2009, 19:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



Вам предложили
Вы просто не читаете.

Главный принцип программирования - это разделение. Разделение кода и данных. Разделение данных и оформления.
В вашем случае данные и оформление надо хранить отдельно.
к примеру, введенные в форму данные записывать в текстовый файл. по строке на форму. А лучше - в базу данных.

плюс написать скрипт с шаблоном HTML
плюс написать скрипт с программой. который берет данные из текстового файла, забивает в шаблон и отдает пользователю.
PM MAIL   Вверх
nerezus
Дата 23.11.2009, 19:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: 12
Всего: 43



MoLeX, ?> html html <?
Неужели твоя IDE - это блокнот?) Ты же рушишь всякую подсветку и автокомплиты своими echo "дохрена строк";


Цитата

если подскажите как сделать это правильнее,буду только рад 
 на букс.ру книга гутманса стоит 150 рублей. Акция. Покупай, пока остались.
Если шаришь в английском, что читай книгу от зенда.


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0602 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.