此脚本显示所有存储在user表中的数据.它加载PEAR::DataObject 和include.php文件(给smarty模板分配变量). 第5行创建一个user对象的工厂.第6行执行find()方法.SELECT * FROM user从数据库中检索出了数据,通 过fetch()方法为模板保存数据,一次返回一条记录. 9 到14行是分配其他的变量给Smarty. 这些文件都应当放在dataobjects目录中.
对于模板,这里有index.tpl,list.tpl,和save.tpl.这里是他们的代码:
index.tpl 1 <html> 2 <head> 3 <title>{$TITLE}</title> 4 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 5 </head> 6 <table align="center"> 7 <tr> 8 <td> 9 <b>{$HEADER}</b> 10 </td> 11 </tr> 12 </table> 13 <table width="250" border="1" align="center" > 14 <tr> 16 <td align="center"> 17 <input type="button" name="insert" value="Insert" onclick="javascript:location.href='insert.php';"> 18 </td> 19 </tr> 20 <tr> 21 <td align="center"> 22 <input type="button" name="view" value="View" onclick="javascript:location.href='view.php';"> 23 </td> 24 </tr> 25 </table> 26 </body> 27 </html> 站点主页,它在的3行和第9行分别显示$TITLE 和$HEADER,这些变量值是从index.php传递过来的.
这个脚本在web浏览器上生成两个按钮,Insert和View,他们有相应的行为.如果用户点击Insert,系统将调
用Insert.php.如果用户点击View,那么view.php将被调用 insert.tpl 1 <html> 2 <head> 3 <title>{$TITLE}</title> 4 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 5 </head> 6 <body> 7 <form name="form1" action="save.php" method="post"> 8 <table width="300" border="1" align="center" > 9 <tr> 10 <td align="center"> 11 <b>{$HEADER}</b> 12 </td> 13 </tr> 14 <tr> 15 <td> 16 {$data1} 17 <input type="text" name="x"> 18 </td> 19 </tr> 20 <tr> 21 <td> 22 {$data2} 23 <input type="text" name="y"> 24 </td> 25 </tr> 26 <tr> 27 <td> 28 {$data3} 29 <input type="text" name="z"> 30 </td> 31 </tr> 32 <tr> 33 <td align="center"> 34 <input type="submit" name="Submit" value="Add"> 35 <input type="button" name="Reset" value="Return/Cancel" onclick="javascript:location.href='index.php';"> 36 </td> 37 </tr> 38 </table> 39 </form> 40 </body> 41 </html> |