初入thinkphp
花3天时间入门了php和thinkphp框架,紧接着就做了一个小后台,简单使用了thinkphp框架封装的一些类和函数。
现在来总结一下:
//登陆函数
public function Login()
{
//判断函数是否首次被调用
if(!IS_POST)
$this->display();
else
{
//使用I函数来活得模板传来的数据
$map['user_name']=I('post.username');
$map['user_psd']=I('post.userpsd');
//empty函数判断变量是否为空
if(empty($map['user_name'])||empty($map['user_psd']))
$this->error('用户名或密码没写');
//与数据库中的数据对比
$UserInfo = M('zx_admin')->where($map)->select();
if(empty($UserInfo[0]['user_name']))
$this->error('用户名或密码错误');
else
{
//设置session值以便之后调用
session('user',$UserInfo[0]);
$this->success('登陆成功',U('Index/index'));
} }
}
//添加数据函数
public function add(){
if(!IS_POST)
$this->display();
else
{
//数组形式获取提交的数据,用I函数也可实现比如I('post.').
$article = $_POST;
//获取当前时间 date()函数是php原生函数
$article['time'] = date('Y-m-d',time());
if(empty($article['title'])||empty($article['article']))
{
$this->error('数据不完整');
}
$model = M('zx_article');
//对上传类进行配置
$config = array(
'autoSub' => false,
'hash' => false,
'maxSize' => 3145728,
'rootPath' =>'./Public/',
'savePath' => './Uploads/',
'saveName' => array('uniqid',''),
'exts' => array('jpg', 'gif', 'png', 'jpeg'),
);
//实例化一个上传函数 $upload = new Upload($config);
$info = $upload->upload();
if(!$info)
{
$this->error($upload->getError());
}
else {
$article['photo'] = $info['photo']['savename'];//将上传后文件的名字传给数组
}
$result = $model->data($article)->add();
$this->success('成功提交数据','Index/show');
}
}
1 //登陆界面表单
2 //{:U()}无参调用U函数获取当前位置的URL
3 <form class="form-horizontal" action={:U()} method="post">
4 <div class="form-group">
5 <label class="col-md-2 control-label text-primary">账户</label>
6 <div class="col-md-10">
7 <input type="text" id="username" name="username" class="form-control" placeholder="输入账户"/>
8 </div>
9 </div>
10 <div class="form-group">
11 <label class="col-md-2 control-label text-primary">密码</label>
12 <div class="col-md-10">
13 <input type="password" id="userpsd" name="userpsd" class="form-control" placeholder="输入密码"/>
14 </div>
15 </div>
16 <div class="form-group">
17 <button class="btn btn-primary col-md-offset-4 w-50">登陆</button>
18 </div>
19 </form>
<table class="table table-bordered table-striped table-hover">
<thead>
<tr>
<th>
序号
</th>
<th>
标题
</th>
<th>
添加时间
</th>
<th>
浏览量
</th>
<th>
显示状态
</th>
<th>
操作
</th>
</tr>
</thead>
<tbody>
//使用内置标签来循环输出数据
<volist name="data" id="vo">
<tr>
<td>
{$vo['article_id']}
</td>
<td>
{$vo['title']}
</td>
<td>
{$vo['time']}
</td>
<td>
{$vo['view']}
</td>
<td> </td>
<td>
<div class="btn-group">
<a class="btn btn-primary" href="{:U('Index/update?article_id='.$vo['article_id'])}">//传id以编辑>
编辑
</a>
<a class="btn btn-danger" href="{:U('Index/article_delete?article_id='.$vo['article_id'])}">
删除
</a>
</div>
</td>
</tr>
</volist>
</tbody>
</table>
//显示当前管理员
<div class="inline-block user">
当前用户:
{$_SESSION['user']['user_name']}<br/>//使用之前设置的session,不需要函数传参进来
<a href="#">[设置]</a>
 
<a href="__MODULE__/Login/Logout">[退出]</a>
</div>
thinkphp使用的MVC设计模式,不过我这里只是用了控制器和模板而没用模型,因为是刚刚开始学习感觉没用模型也可实现小程序。
初入thinkphp的更多相关文章
- Scala初入
何为Scala物 Scala为基于JVM虚拟机中的面向对象与函数式编程思想并且完全兼容Java的混合编程语言,可以是Scala与Java是同根同源的,既然Scala与JAVA都是基于JVM之上的编程语 ...
- 初学HTML5、初入前端
学习HTML5是一个漫长的过程,当中会遇到很多技术与心态上的变化.刚开始学习,我们不能发力过猛,需要一个相对稳定的状态去面对.多关注一些自己感兴趣的网站和技术知识,建立自己的信心与好奇心,为以后的学习 ...
- 0x00linux32位汇编初入--前期准备
0x00汇编初入--前期准备 一.汇编工具 在linux平台下常用的编译器为as,连接器为ld,使用的文本编辑器为vim,汇编语法为att 以下是一些工具: addr2line 把地址转换为文件名和行 ...
- 初入职场的建议--摘自GameRes
又开始一年一度的校招了,最近跑了几个学校演讲,发现很多话用短短的一堂职业规划课讲还远远不够,因为那堂课仅仅可能帮大家多思考怎样找到一份合适的工作,并没有提醒大家怎样在工作中发展自己的职业. 见过这么多 ...
- 【Xbox one S】开箱&开机&初入坑心得
再来一发水贴,先上产品标准照镇贴: 前言 身为一个资深单机游戏玩家,常年混迹在PC平台,但内心深处一直对主机有种迷之向往,感觉那才是单机游戏的正处之地,坐沙发上拿着手柄对着电视跌宕起伏才是正确的游戏姿 ...
- Git初入
Git记录 使用git 也有一段时间了, git的入门级了解也就不再多说, 但平常使用中, 仍然会遇到很多问题, 在此记录一二. 在查资料的过程中, 发现了两个比较好的资料: 特别是第二个, 相当详细 ...
- SuperMap iClient for JavaScript初入
SuperMap iClient for JavaScript初入 介绍SuperMap for Js的简单使用. 推荐先看下这篇文档:SuperMap iClient for JavaScript ...
- 初入前端框架bootstrap--Web前端
Bootstraps是一种简洁.直观.强悍的前端开发框架,它让web开发更迅速.简单.对于初入Bootstrap的小白,高效进入主题很重要,能为我们节省很多时间,下面我将对使用Bootstrap开发前 ...
- 初入pygame——贪吃蛇
一.问题利用pygame进行游戏的编写,做一些简单的游戏比如贪吃蛇,连连看等,后期做完会把代码托管. 二.解决 1.环境配置 python提供一个pygame的库来进行游戏的编写.首先是安装pygam ...
随机推荐
- maven settings 配置文件
maven settings 配置文件 <?xml version="1.0" encoding="UTF-8"?> <settings xm ...
- (五十九)iOS网络基础之UIWebView简易浏览器实现
[UIWebView网络浏览器] 通过webView的loadRequest方法可以发送请求显示相应的网站,例如: NSURL *url = [NSURL URLWithString:@"h ...
- nginx 配置open_cache_file 静态文件的缓存
open_file_cache max=65535 inactive=30s 最多缓存多少个文件,缓存多少时间open_file_cache_min_uses 1 在30S中没有使用到这个配置的次数的 ...
- 《java入门第一季》之面向对象多态面试题(多态收尾)
/* 看程序写结果:先判断有没有问题,如果没有,写出结果 */ class A { public void show() { show2(); } public void show2() { Syst ...
- 【Android 应用开发】分析各种Android设备屏幕分辨率与适配 - 使用大量真实安卓设备采集真实数据统计
.主要是为了总结一下 对这些概念有个直观的认识; . 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/198 ...
- linux 编译安装PHP模块
本文移到:http://www.phpgay.com/Article/detail/classid/6/id/54.html linux 编译安装PHP模块 1.首先你要有你服务器上安装的PHP的版 ...
- CAS实现单点登录--错误记录
遇到的错误: 生成证书: 1. 命令:keytool -genkey -alias smalllove -keyalg RSA -keystore C:/keys/smallkey 错误:ja ...
- App Store10大被拒理由
最近,苹果在官网给出了截至2015年2月份应用被拒绝的十大理由,其中50%以上的应用被拒绝都是因为这10个原因,其中7个理由和2014年相同,其中排名前三的原因分别是:需要补充更多信息.存在明显的bu ...
- Spring 官网jar下载
1,首先输入http://spring.io/进入Spring官网 2,点击project 栏,找到Spring framwork 3,点击reference 4,找到Distribution Zip ...
- PHP获取指定地区的天气
在开发网站的时候用到天气查询,由于是基于Wordpress的 所以有很多限制,先建一个[weather.php]的文件,然后看代码: <?php //获取天气 $url = 'http://m. ...