Chinaunix首页 | 论坛 | 博客
  • 博客访问: 30402
  • 博文数量: 11
  • 博客积分: 1624
  • 博客等级: 上尉
  • 技术积分: 140
  • 用 户 组: 普通用户
  • 注册时间: 2009-09-29 11:07
文章分类

全部博文(11)

文章存档

2011年(1)

2010年(2)

2009年(8)

我的朋友
最近访客

分类:

2009-10-13 10:30:51

index.cgi  显示首页

#!/usr/bin/perl

use strict;
use CGI;
use Template;
BEGIN{
        use CGI::Carp qw(fatalsToBrowser carpout);
}

my $q = CGI->new;
my $config = {
        INCLUDE_PATH => 'ttdir',
    };
my $vars = {
        path_post =>'post.cgi',
 };
my $input = '2.tt';

my $tt = Template->new($config)||die "$Template::ERROR\n";
print $q->header(-type=>'text/html',-charset=>'gb2312');
$tt->process($input,$vars) || die $tt->error(), "\n";

view.cgi 显示页面

#!/usr/bin/perl

use DBI;
use CGI ':standard';
use Template;
BEGIN{
        use CGI::Carp qw(fatalsToBrowser carpout);
}
my @myarray,$error_msg;
my $db=DBI->connect('DBI:mysql:sample_db;user=root');
my $num = 5; # items number per page

my $page = param('page') || 1;
my $sth=$db->prepare("select count(*) as dd from test");
$sth->execute;
my ($count) = $sth->fetchrow_array;
if ($count == 0) {
    print header(-type=>'text/html',-charset=>'gb2312');
    print p("当前没有记录");
    $db->disconnect;
    exit;
}

my $total;
if ($count % $num ) {
    $total = int ($count/$num) +1;
} else {
    $total = $count/$num;
}
         
if ($page < 1 or $page > $total or $page =~ /[^0-9]/) {
    print header(-type=>'text/html',-charset=>'gb2312');
    print p("页码错误");
    $db->disconnect;
    exit;
}
    
my $prepg = ($page -1) || 1;
my $nextpg = ($page +1 > $total) ? $total : $page +1;

my $offset = $num * ($page -1);
    $sth=$db->prepare("select id,user,info from test order by id desc limit $offset,$num")
        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, {"id"=>$val[0], "user" => $val[1], "info" => $val[2] };
                }
        $sth->finish();
        $db->disconnect();
my $config = {
        INCLUDE_PATH => 'ttdir',
    };
my $vars = {
        path_add => "index.cgi",
        Message => \@myarray,
        path_page => 'view.cgi',
        current_page => $page,
        total_page => $total,
        pre_page => $prepg,
        next_page => $nextpg,
        count => $count,
 };
my $input = 'view.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";


post.cgi提交页面

#!/usr/bin/perl

use DBI;
use CGI ':standard';
BEGIN{
        use CGI::Carp qw(fatalsToBrowser carpout);
}
$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->finish();
        $db->disconnect();
        print redirect("view.cgi");
}

mod.cgi修改留言

#!/usr/bin/perl

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

my $id;
if (param()){
$id=param("id");
$db=DBI->connect('DBI:mysql:sample_db;user=root');
$sth=$db->prepare("select user,info,id from test where id=$id") or die "Can't prepare sql statement".DBI->errstr;
$sth->execute();
while(my @val=$sth->fetchrow_array()){
                $user=$val[0];
                $info=$val[1];
                $id=$val[2];
                }
        $sth->finish();
        $db->disconnect();
my $config = {
        INCLUDE_PATH => 'ttdir',
    };
my $vars = {
        path_mod =>'modok.cgi',
        username => $user,
        info => $info,
        id=> $id,
 };
my $input = 'mod.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";
}

modok.cgi修改成功:

#!/usr/bin/perl

use DBI;
use CGI ':standard';
BEGIN{
        use CGI::Carp qw(fatalsToBrowser carpout);
}
        my $db=DBI->connect('DBI:mysql:sample_db;user=root');
        if (param()){
        my $username=param("username");
        my $id=param("id");
        my $info=param("info");
        my $sth=$db->prepare("UPDATE test SET user=?,info=? WHERE id=?")
        or die "Can't prepare sql statement".DBI->errstr;
        $sth->execute($username,$info,$id);
        $sth->finish();
        $db->disconnect();
        print header(-charset=>"gb2312");
        print qq{<script language="javascript">
                alert('修改成功!');
                location.href='view.cgi';
                </script>};
        }

删除留言 del.cgi

#!/usr/bin/perl

use DBI;
use CGI ':standard';
use strict;
BEGIN{
        use CGI::Carp qw(fatalsToBrowser carpout);
}
my $db=DBI->connect('DBI:mysql:sample_db;user=root');
        if (param()){
        my $id=param("id");
        my $sth=$db->prepare("DELETE FROM test WHERE id=?")
        or die "Can't prepare sql statement".DBI->errstr;
        $sth->execute($id);
        $sth->finish();
        $db->disconnect();
        print header(-charset=>"gb2312");
        print qq{<script language="javascript">
                alert('删除成功!');
                location.href='view.cgi';
                </script>};
        }


阅读(830) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~