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

Форум PHP

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

 

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

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

тема: PHP + Html как объединить?
 
 автор: wisper   (05.01.2009 в 11:17)   письмо автору
 
 

Всем привет!:-)
Подскажите пожалуйста, как или по какому принципу пишется, происходит объединение шаблонов со скриптами PHP.
Вот например есть скрипт который ищет, выводит и есть шаблон в виде таблице, но как это дело объединенить не знаю:-)
Может кто посоветует мануал какой-нить почитать, потому-что искал искал но к сожаление ничего конкретного не нашёл.
всем спасибо!

  Ответить  
 
 автор: MikeSVB   (05.01.2009 в 13:02)   письмо автору
 
   для: wisper   (05.01.2009 в 11:17)
 

Недно обсуждалась тема про шаблоны. Может полезно будет почитайте http://softtime.ru/forum/read.php?id_forum=1&id_theme=61263

  Ответить  
 
 автор: ДаньЧег   (05.01.2009 в 13:05)   письмо автору
 
   для: wisper   (05.01.2009 в 11:17)
 

Вот:
<title>HTML vs PHP</title>
<center><form action="<?=$_SERVER['PHP_SELF']?>" method="post">
  <table width="100%"  border="0" align="center">
    <tr>
      <td><div align="center">Введите число от <strong>1</strong> до <strong>5</strong>:
            <input type="text" name="chislo" size="10">
            <input name="POST" value="GO!" type="submit">
      </div></td>
    </tr>
  </table>

</body>
<?
$chislo
=$_POST['chislo'];
$b=0;
if (
ctype_digit($chislo)) $b=1;
if(
$chislo>5$to_print="Число больше 5!!"// echo "Число $chislo больше чем 5!!"; 
elseif($chislo<1$to_print="Число меньше 1!!"//echo "Число $chislo меньше чем 1!!"; //
else $to_print="Введенное число $chislo"//echo "Введенное число $chislo"; //
if($b==0$to_print="Это не число!!!";
?>
  <p>&nbsp;</p>
  <table width="15%"  border="1">
    <tr>
      <td><center><b><?echo $to_print;?></b></center></td>
    </tr>
  </table>
</form></center>


Здесь просто сообшения, выполнения условия записываются в переменную! Кторорая просто отображается в HTML.
Канечн можно проверять условия прям в HTML,но такой способ красивее!))


Немножко поправил! Иначе, если ввести не число, то появилось бы сообшение о том что ето не число и что введенное значение меньше 1го!

  Ответить  
 
 автор: Root   (05.01.2009 в 13:18)   письмо автору
 
   для: ДаньЧег   (05.01.2009 в 13:05)
 

>Канечн можно проверять условия прям в HTML,но такой способ красивее!))

А Вы не "прям в HTML" проверили?

Про $b я молчу..

  Ответить  
 
 автор: ДаньЧег   (05.01.2009 в 13:49)   письмо автору
 
   для: Root   (05.01.2009 в 13:18)
 

Проверка в HTML это так:
<title>HTML vs PHP</title> 
<center><form action="<?=$_SERVER['PHP_SELF']?>" method="post"> 
  <table width="100%"  border="0" align="center"> 
    <tr> 
      <td><div align="center">Введите число от <strong>1</strong> до <strong>5</strong>: 
            <input type="text" name="chislo" size="10"> 
            <input name="POST" value="GO!" type="submit"> 
      </div></td> 
    </tr> 
  </table> 

</body> 
<? 
$chislo
=$_POST['chislo']; 
$b=0
?> 
  <p>&nbsp;</p> 
  <table width="15%"  border="1"> 
    <tr> 
      <td><center><b><?if (ctype_digit($chislo)) $b=1
if(
$chislo>5)  echo "Число $chislo больше чем 5!!";  
elseif(
$chislo<1) echo "Число $chislo меньше чем 1!!"// 
else echo "Введенное число $chislo"// 
if($b==0) echo"Это не число!!!"?></b></center></td> 
    </tr> 
  </table> 
</form></center>


Да и причем тут $b?!
Мне нужно было сделать проверку, на отсутствие в введенном значении цифр, но он действовал наоборот, и из за этого пришлось сделать так некрасиво. :)

  Ответить  
 
 автор: Root   (05.01.2009 в 13:57)   письмо автору
 
   для: ДаньЧег   (05.01.2009 в 13:49)
 

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

А $b тут при том, что она ни в первом, ни во втором случае не нужна.

  Ответить  
 
 автор: ДаньЧег   (05.01.2009 в 14:01)   письмо автору
 
   для: Root   (05.01.2009 в 13:57)
 

Попробуй сделай без $b и введи в поле не число!

А также в первом посте я сказал:" Если я парвильно тебя понял......"

Улавливаеш?!

  Ответить  
 
 автор: Root   (05.01.2009 в 14:11)   письмо автору
 
   для: ДаньЧег   (05.01.2009 в 14:01)
 

if ( ctype_digit( $chislo ) ) {
..работаем с числом
}

>$b=0;
>if (ctype_digit($chislo)) $b=1;
>...
>if($b==0) echo"Это не число!!!";

тоже самое, что и if(!ctype_digit($chislo)) echo"Это не число!!!";

  Ответить  
 
 автор: ДаньЧег   (05.01.2009 в 14:13)   письмо автору
 
   для: Root   (05.01.2009 в 14:11)
 

Мне кажется что мой способ (ДЛЯ МЕНЯ!!!!) более удобный....
Хотя если перед ctype_digit поставить ! , то вся мозхгопарка исчезает!:)

  Ответить  
 
 автор: OpenWindow   (07.01.2009 в 01:53)   письмо автору
 
   для: ДаньЧег   (05.01.2009 в 14:13)
 

Это все не красиво и не практично. Движки, использующие шаблоны .tpl просто подключают их и манипулируют ими посредством класса. Легче один раз написать класс, чем вот так морочится...

  Ответить  
 
 автор: Николай2357   (07.01.2009 в 07:55)   письмо автору
 
   для: OpenWindow   (07.01.2009 в 01:53)
 

Удивительное дело... Я наверное в этой жизни всё таки ничего не понимаю. Язык PHP разрабатывался именно для того, что бы была возможность встраивать исполняемый код в html. Сейчас на этом же языке, посредством запутанных и глючных классов, пишуться приложения, которые разделяют вывод и логику... И это называется - удобным. То есть мы сначала делаем робота, который готовит венигрет, потом сочиняем робота, который выколупывает из него свёклу и морковку, для того, что бы подать на стол это всё отдельно. А клиент, захотевший откушать в нашем ресторане, должен потратить время на обратное перемешивание...
Мне отвечать не обязательно, мы недавно долго полемизировали на эту тему. Этого не стоит делать даже по тому, что вопрос автора был именно как объеденить, а не как разделить.

  Ответить  
Rambler's Top100
вверх

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