知道了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);
- $sm->display('m.tpl');
- ?>
template下的m.tpl文件【submit.php的显示文件】
- {$content}
- {section name=kk loop=$ml}
- {$ml[kk]}<br />
- {/section}
|