知道了smarty的运行原理之后,就想写个post的实现过程,以下是实现post的代码,跟独自写php代码差不多,只是多了显示文件
配置:conf.php
<?php @header( "Content-type: text/html; charset=UTF-8" ); require 'libs/Smarty.class.php' ; $my = new Smarty; $my ->template_dir = 'templates/' ; $my ->compile_dir = 'templates_c/' ; $my ->config_dir = 'configs/' ; $my ->cache_dir = 'cache/' ; ?> index.php
<?php include 'conf.php' ; $my ->assign( 'content' , 'welcome to arrival' ); $my ->assign( 'mylife' , array ( "生活" , "吃饭" , "梦想" , "凉风" , "报仇" , "fuck someone" , "fuck you die" )); $my ->display( 'kk.html' ); ?> template下的kk.html【index.php的显示文件】
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" > <html xmlns= "http://www.w3.org/1999/xhtml" > <head> <meta http-equiv= "Content-Type" content= "text/html; charset=utf-8" /> <title>无标题文档</title> </head> <body> { $content } {section name=truelife loop= $mylife } { $mylife [truelife]} {/section} <p>{html_select_time use_24_hours=true} </p> <form id= "form1" name= "form1" method= "post" action= "submit.php" > <p> <label for = "conteng" ></label> <input type= "text" name= "conteng" id= "conteng" /> </p> <p> <label for = "ct" ></label> <textarea name= "ct" id= "ct" cols= "45" rows= "5" ></textarea> </p> <input type= "submit" name= "submit" id= "submit" value= "提交" /> </form> <p> </p> </body> </html> submit.php
<?php include 'conf.php' ; $kk = $_POST [ 'conteng' ]; $ct = $_POST [ 'ct' ]; $sm = new Smarty(); $sm ->assign( 'content' , $kk ); $k = explode ( "\r\n" , $ct ); //将字符分隔为数组 $sm ->assign( 'ml' , $k