HTML+TT模板+循环标签的使用

674阅读 0评论2009-09-30 hao3721
分类:

HTML代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">
<html xmlns="">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>留言本--显示页面</title>
</head>

<body>
<h1 align="center">留言本内容显示</h1>
[% FOREACH item IN Message %]
留言者:[% item.user %]<br />
留言信息:[% item.info %]
<hr />
[% END %]
</body>
</html>

Perl代码:

#!/usr/bin/perl

use DBI;
use CGI ':standard';
use Template;
BEGIN{
        use CGI::Carp qw(fatalsToBrowser carpout);
}


my @myarray;

$db=DBI->connect('DBI:mysql:sample_db;user=root');
        if (param()){
        $username=param('username');
        $info=param('info');
        $sth=$db->prepare("insert into test(user,info) values(?,?)")
        or die "Can't prepare sql statement".DBI->errstr;
        $sth->execute($username,$info);
        $sth=$db->prepare("select user,info from test ")
        or die "Can't prepare sql statement".DBI->errstr;
        $sth->execute();
        if($sth->rows==0){
                print "No date";
                exit;
        }
        while(my @val=$sth->fetchrow_array()){
                push @myarray, { user => $val[0], info => $val[1] };
                }
        $sth->finish();
        $db->disconnect();
        }
        else{
        print "Sorry!";
}

my $config = {
        INCLUDE_PATH => 'ttdir',
    };
my $vars = {
        Message => \@myarray,
 };
my $input = 'post.tt';
my $tt = Template->new($config)||die "$Template::ERROR\n";
print header(-type=>'text/html',-charset=>'gb2312');
$tt->process($input,$vars) || die $tt->error(), "\n";


上一篇:简单的CGI+Template模块配合,使Html与perl互相分离
下一篇:必须知道的linux主要文件目录