smarty中post用法实例

本文实例讲述了smarty中post用法。分享给大家供大家参考。具体分析如下:

知道了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}

希望本文所述对大家的smarty程序设计有所帮助。

(0)

相关推荐

  • PHP模板引擎Smarty的缓存使用总结

    这里我们将分析一下如何开启和使用smarty缓存,如何清除smarty缓存以及smarty的全局缓存,部分缓存,局部缓存三种缓存机制. 一.开启和使用smarty缓存 要开启smarty的缓存,只需在smarty设置参数里面将caching设为true,并指定cache_dir即可.同时设置cache_lefetime参数指定缓存生存时间(单位为秒).如果要对相同页面生成多个不同的缓存,可以在display或fetch中加入第二参数cache_id,如: 复制代码 代码如下: $smarty->

  • Smarty的配置与高级缓存技术分享

    前言 Smarty 是一个出色的PHP模板引擎,它分离了逻辑代码和user interface. 学习和使用Smarty,没有应用到它的缓存技术是一个很大的损失,它可以将用户最终看到的HMTL文件缓存成一个静态的HTML页,当设定Smarty的cache属性为true时,在Smarty设定的cachetime期内将用户的WEB请求直接转换到这个静态的HTML文件中来,这相当于调用一个静态的HTML文件,给后台服务器减少很多负担. 下载与配置 官方下载:Smarty Download 下载完后,解

  • smarty模板局部缓存方法使用示例

    在开启smarty缓存的情况下,第一次执行时会将其编译好的输出文件保存到cache目录中,然后在程序中通过smarty的is_cache()函数检测其 cache文件是否过期,如果过期会更新缓存,如果没有过期会自动调用cache文件,这样就省去了编译的过程.检测cache过期是看模板文件是否在指定的生命周期内是否更改,这里的更改是通过检测文件的最近修改时间实现的,不是通过检测模板文件内容. 防止一个模板文件的整篇都被缓存: index.php文件: 复制代码 代码如下: require('sma

  • smarty缓存用法分析

    本文详细分析了smarty缓存的用法.分享给大家供大家参考.具体分析如下: 一开始以为smarty只是用来做一些掩饰php代码功能,但是后来才知道还有模板缓存这个强大的功能. 什么是模板缓存呢,就是我们在从数据库里面取出一些数据输出到模板的访问的时候,每一次都对数据库进行访问,但是其实每一次的数据库访问都是相同的,假如网址的流量很大,这种重复的访问完全是没有必要的,对于数据库有很大压力.smarty就提供了缓存技术,用于解决这个问题. 首先使用smarty的缓存,我们有一些要设置的: 开启缓存

  • smarty section简介与用法分析

    基本原形为: {section name = name loop = $varName[, start = $start, step = $step, max = $max, show = true]} name: section的名称,不用加$ $loop: 要循环的变量,在程序中要使用assign对这个变量进行操作. $start: 开始循环的下标,循环下标默认由0开始 $step: 每次循环时下标的增数 $max: 最大循环下标 $show: boolean类型,决定是否对这个块进行显示,

  • Smarty局部缓存的几种方法简介

    很多时候我们在用smarty时,并不希望缓存整个页面,例如天气.股票等这类即时更新的信息.那么我们可以让其不缓存,常见的实现有如下3种方法: 1.insert 法: Insert 函数类似于 inluce 函数,不同之处是 insert 所包含的内容不会被缓存,每次调用该模板都会重新执行该函数.比如说我们定义一个显示时间的函数: 复制代码 代码如下: function insert_get_current_time() {return date("H:i:s");} //然后在模板中:

  • smarty 缓存控制前的页面静态化原理

    可在display中进行设置 $smarty->display("demo.tpl",$_SERVER[REQUEST_URI])来实现一个模版有多个缓存. 既然文件已经有缓存了,我们就可以走缓存文件了,不用循环的执行连接数据库,进行查询了.用smatry中的一个函数进行判断 $smarty->iscached(demo.tpl"",",$_SERVER[REQUEST_URI])默认值为"true" 这里的模版要和disp

  • 解析smarty 截取字符串函数 truncate的用法介绍

    smarty truncate 截取字符串从字符串开始处截取某长度的字符,默认的长度为80指定第二个参数作为截取字符串的长度默认情况下,smarty会截取到一个词的末尾,如果需要精确到截取多少个字符可以使用第三个参数,将其设为"true"具体用法如下: 复制代码 代码如下: //index.php $smarty = new Smarty; $smarty->assign('articleTitle', 'Two Sisters Reunite after Eighteen Ye

  • php smarty模版引擎中的缓存应用

    1,Smarty缓存的配置: $smarty->cache-dir="目录名"; //创建缓存目录名 $smarty->caching=true; //开启缓存,为false的时候缓存无效 $smarty->cache_lifetime=60; //缓存时间,单位是秒 2,Smarty缓存的使用与清除 $marty->display("cache.tpl",cache_id); //创建带ID的缓存 $marty->clear_all_

  • smarty中post用法实例

    本文实例讲述了smarty中post用法.分享给大家供大家参考.具体分析如下: 知道了smarty的运行原理之后,就想写个post的实现过程,以下是实现post的代码,跟独自写php代码差不多,只是多了显示文件 配置文件:conf.php 复制代码 代码如下: <?php  @header("Content-type: text/html; charset=UTF-8");  require '../libs/Smarty.class.php';  $my=new Smarty;

  • Android 中WallpaperManager用法实例

    Android 中WallpaperManager用法实例 注意:壁纸的设置得加入权限: <uses-permission android:name="android.permission.SET_WALLPAPER"/> 1.WallpaperManager  对象的获得: wallpaperManager =WallpaperManager.getInstance(this); 2.设置壁纸的方法: 方法一:wallpaperManager.setBitmap(); /

  • Java中的instanceof关键字在Android中的用法实例详解

    在下面介绍Android中如何使用instanceof关键字开发更方便时,先来温习一下java中instanceof的概念. instanceof大部分的概念是这样定义的:instanceof是Java的一个二元操作符,和==,>,<是同一类东西.由于它是由字母组成的,所以也是Java的保留关键字.它的作用是测试它左边的对象是否是它右边的类的实例,返回boolean类型的数据.举个栗子: String s = "I AM an Object!"; boolean isObj

  • Java中Pattern用法实例(正则表达式)

    目录 1. 正则表达式的应用 2. 常用正则表达式 3 贪婪匹配与懒惰匹配 补充:其它的一些用法 总结 1. 正则表达式的应用 在给用户发送消息时通常情况会有相同的消息模板,但其中部分信息跟用户相关,因此需要对消息模板中的变量部分进行替换.而对于一个系统而言可能有很多套完全不同的模板.因此需要一个通用的根据实际信息替换消息模板中变量的方法.消息模板的变量与velcity中的变量规范相同. publicstatic <K, V> String replacePlaceHolderWithMapV

  • php中smarty变量修饰用法实例分析

    本文实例讲述了php中smarty变量修饰用法.分享给大家供大家参考.具体实现方法如下: test.php代码: <?php require 'libs/Smarty.class.php'; //包含Smarty类库文件 $smarty = new Smarty; //创建一个新的Smarty对象 $total = 12345; //对$total赋值 $smarty->assign("total",$total); //对模版中的变量赋值 $formatted_total

  • AngularJS中ng-class用法实例分析

    本文实例讲述了AngularJS中ng-class用法.分享给大家供大家参考,具体如下: 使用 ng-class 动态设置元素的类,方法是绑定一个代表所有需要添加的类的表达式.重复的类不会添加.当表达式发生变化,先前添加的类会被移除,新类会被添加. 在angular中为我们提供了3种方案: ① 通过数据的双向绑定(不推荐使用) ② 通过对象数组. ③ 通过key/value 一.通过数据双向绑定: function changeClass(){ $scope.className = "chang

  • python中反射用法实例

    本文实例讲述了python中反射用法.分享给大家供大家参考.具体如下: import sys, types,new def _get_mod(modulePath): try: aMod = sys.modules[modulePath] if not isinstance(aMod, types.ModuleType): raise KeyError except KeyError: # The last [''] is very important! aMod = __import__(mo

  • js中this用法实例详解

    本文实例讲述了js中this用法.分享给大家供大家参考.具体如下: 1. 指向window 全局变量 alert(this) //返回 [object Window] 全局函数 function sayHello(){ alert(this); } sayHello(); 2. 指向该对象(在全局里面this指向window,在某个对象里面this指向该对象,在闭包里面this指向window) var user="the Window"; var box={ user:'the bo

  • python中assert用法实例分析

    本文实例讲述了python中assert用法.分享给大家供大家参考.具体分析如下: 1.assert语句用来声明某个条件是真的. 2.如果你非常确信某个你使用的列表中至少有一个元素,而你想要检验这一点,并且在它非真的时候引发一个错误,那么assert语句是应用在这种情形下的理想语句. 3.当assert语句失败的时候,会引发一AssertionError. 测试程序: >>> mylist = ['item'] >>> assert len(mylist) >=

  • javascript中attachEvent用法实例分析

    本文实例讲述了javascript中attachEvent用法.分享给大家供大家参考.具体分析如下: 一般我们在JS中添加事件,是这样子的 obj.onclick=method 这种绑定事件的方式,兼容主流浏览器,但如果一个元素上添加多次同一事件呢? obj.onclick=method1 obj.onclick=method2 obj.onclick=method3 如果这样写,那么只有最后绑定的事件,这里是method3会被执行,这个时候我们就不能用onclick这样的写法了,主角改登场了,

随机推荐