ThinkPHP笔记

1.验证码的生产与使用

Public function verify() {//PublicAction.class.php
    import('ORG.Util.Image');
    Image::buildImageVerify();
}

在需要显示验证码的网页上嵌入以下代码

<img src="__APP__/Public/verify/"  width="50" height="24" />
        <script type="text/javascript">
            function show(obj) {//点击验证码图片后刷新验证码
                obj.src = "__APP__/Public/verify/" + Math.random();
            }
        </script>

验证用户输入的验证码是否正确

if ($_SESSION['verify'] != md5($_POST['code'])) {
    $this->error('验证码不正确');
}


2.用户登录验证部分代码

public function login() {
    header("Content-Type:text/html;charset=utf-8");
    $username = $_POST['username'];  // 获取post变量
    $password = $_POST['password'];  // 获取post变量
    //$code = $_POST['code'];  // 获取post变量
    if ($_SESSION['verify'] != md5($_POST['code'])) {
        $this->error('验证码不正确');
    }
    $form = M('admin_user');//M函数
    $admin_user = $form->where("username = '" . $username . "' and password = '" . md5($password) . "'")->find();//条件查询
    if ($admin_user) {
        $_SESSION['admin_user'] = $admin_user;
        redirect('../index', 2, "<div align=\"center\" style=\"padding:100px\" ><font color=\"red\">登录成功!页面正在跳转中...</font></div>");
    } else {
        $this->error('用户名或密码不正确');
    }
}


3.直接查询全部

public function chapter_list() {
    $chapter = M('chapter'); // 实例化Data数据模型
    $this->data = $chapter->select();
    $this->display();
}

页面显示

<volist name="data" id="vo">
    <tr>
        <td height="20" bgcolor="#FFFFFF"><div align="center">
                <input type="checkbox" name="checkbox10" id="checkbox10" />
            </div></td>
        <td height="20" bgcolor="#FFFFFF" class="STYLE19"><div align="center">{$vo.chapter_id}</div></td>
        <td height="20" bgcolor="#FFFFFF" class="STYLE19"><div align="center">{$vo.chapter_title}</div></td>
        <td height="20" bgcolor="#FFFFFF" class="STYLE19"><div align="center">{$vo.update_time}</div></td>
        <td height="20" bgcolor="#FFFFFF"><div align="center"><span class="STYLE21"><a href="#">删除</a> | <a href="__APP__/Article/article_list?chapter_id={$vo.chapter_id}">查看</a></span></div></td>
    </tr>
</volist>

4.url传值查询

public function article_list(){
    $chapter_id=$_GET["chapter_id"];//url传值方式为get
    $form = M('article');
    $condition['chapter'] = $chapter_id;//条件查询
    $this->data = $form->where($condition)->select();
    $this->display();
}

5.删除数据

public function user_delete(){
    header("Content-Type:text/html;charset=utf-8");
    $username = $_GET['username'];//url传值
    $User = M("user"); // 实例化User对象
    $User->where('username=\''.$username.'\'')->delete(); // 删除username
    redirect('../User/user_list', 2, "<div align=\"center\" style=\"padding:100px\" ><font color=\"red\">操作成功!页面正在跳转中...</font></div>");
}

6.更新数据

public function user_update() {
    //header("Content-Type:text/html;charset=utf-8");
    $Form = D('user');//表单提交过来的数据,action指向该方法
    if ($Form->create()) {
        $result = $Form->save();
        if ($result) {
            $this->success('操作成功!');
        } else {
            $this->error('没有更新数据!');
        }
    } else {
        $this->error($Form->getError());
    }
    //redirect('../User/user_list', 2, "<div align=\"center\" style=\"padding:100px\" ><font color=\"red\">操作成功!页面正在跳转中...</font></div>");
}


7.数据分页

public function user_list() {
    $Data = M('user'); // 实例化Data数据对象
    import('ORG.Util.Page'); // 导入分页类
    $count = $Data->where($map)->count(); // 查询满足要求的总记录数
    $Page = new Page($count); // 实例化分页类 传入总记录数
    // 进行分页数据查询 注意page方法的参数的前面部分是当前的页数使用 $_GET[p]获取
    $nowPage = isset($_GET['p']) ? $_GET['p'] : 1;
    $list = $Data->where($map)->order('username')->page($nowPage . ',' . $Page->listRows)->select();
    $show = $Page->show(); // 分页显示输出
    $this->assign('page', $show); // 赋值分页输出
    $this->assign('list', $list); // 赋值数据集
    $this->display(); // 输出模板
}

            <volist name="list" id="vo">
                <tr>
                    <td height="20" bgcolor="#FFFFFF"><div align="center">
                            <input type="checkbox" name="checkbox10" id="checkbox10"  value="{$vo.username}"/>
                        </div></td>
                    <td height="20" bgcolor="#FFFFFF" class="STYLE19"><div align="center">{$vo.username}</div></td>
                    <td height="20" bgcolor="#FFFFFF" class="STYLE19"><div align="center">{$vo.truename}</div></td>
                    <td height="20" bgcolor="#FFFFFF" class="STYLE19"><div align="center">{$vo.sex}</div></td>
                    <td height="20" bgcolor="#FFFFFF" class="STYLE19"><div align="center">{$vo.age}</div></td>
                    <td height="20" bgcolor="#FFFFFF" class="STYLE19"><div align="center">{$vo.email}</div></td>
                    <td height="20" bgcolor="#FFFFFF">
                        <div align="center">
                            <a href="__APP__/User/user_delete?username={$vo.username}"  confirm('确定删除?');"><span class="STYLE21">删除</span></a> |
                            <a href="__APP__/User/user_edit?username={$vo.username}"><span class="STYLE21">编辑</span></a> |
                            <a href="__APP__/User/user_view?username={$vo.username}"><span class="STYLE21">查看</span></a>
                        </div></td>
                </tr>
            </volist>
<strong> {$page}</strong>
<!--页码以及上一页下一页神马的在这里显示-->

本文出自 “阿凡达” 博客,请务必保留此出处http://shamrock.blog.51cto.com/2079212/1340606

资源下载链接为: https://pan.quark.cn/s/22ca96b7bd39 在 IT 领域,文档格式转换是常见需求,尤其在处理多种文件型时。本文将聚焦于利用 Java 技术栈,尤其是 Apache POI 和 iTextPDF 库,实现 doc、xls(涵盖 Excel 2003 及 Excel 2007+)以及 txt、图片等格式文件向 PDF 的转换,并实现在线浏览功能。 先从 Apache POI 说起,它是一个强大的 Java 库,专注于处理 Microsoft Office 格式文件,比如 doc 和 xls。Apache POI 提供了 HSSF 和 XSSF 两个 API,其中 HSSF 用于读写老版本的 BIFF8 格式(Excel 97-2003),XSSF 则针对新的 XML 格式(Excel 2007+)。这两个 API 均具备读取和写入工作表、单元格、公式、样式等功能。读取 Excel 文件时,可通过创建 HSSFWorkbook 或 XSSFWorkbook 对象来打开相应格式的文件,进而遍历工作簿中的每个 Sheet,获取行和列数据。写入 Excel 文件时,创建新的 Workbook 对象,添加 Sheet、Row 和 Cell,即可构建新 Excel 文件。 再看 iTextPDF,它是一个用于生成和修改 PDF 文档的 Java 库,拥有丰富的 API。创建 PDF 文档时,借助 Document 对象,可定义页面尺寸、边距等属性来定制 PDF 外观。添加内容方面,可使用 Paragraph、List、Table 等元素将文本、列表和表格加入 PDF,图片可通过 Image 加载插入。iTextPDF 支持多种字体和样式,可设置文本颜色、大小、样式等。此外,iTextPDF 的 TextRenderer 能将 HTML、
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值