用到3个页面 注册、登陆、个人中心
别忘了加载jQuery框架
1、注册界面 Register / index.html
2、注册控制器 RegisterController.class.php
3、注册模型页 RegisterModel.class.php
4、登陆界面 Login / index.html
5、登陆控制器 LoginController
6、个人中心界面 Personal / index.html
7、个人中心控制器 Personal / index.html
8、登陆css文件 public / Home / css / login.css
9、注册css文件 public / Home / css / register.css
++++++++数据表结构 user_info表

1、注册界面 Register / index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<link rel="stylesheet" href="__CSS__/personal.css">
</head>
<body>
<div class="personal">
<p>个人中心页</p>
<!--<p class="logout">注销</p>-->
<p>欢迎你,{$username}</p>
<p><button id="logout" οnclick="logout()">注销</button></p>
<input type="hidden" value="{:U('Personal/logout')}" name="logout" />
</div>
</body>
<script src="__JS__/jquery-2.1.1.min.js"></script>
<script>
function logout(){
var url = $('input[name="logout"]').val();
$.ajax({
url : url,
dataType : 'json',
success : function(res) {
if(res.status == 1){
alert(res.info);
window.location.href = res.url;
}else{
alert(res.info);
}
}
});
}
</script>
</html>2、注册控制器 RegisterController.class.php
3、注册模型页 RegisterModel.class.php<?php /** * Created by PhpStorm. * User: outusi * Date: 15/9/8 * Time: 上午10:28 */ namespace Home\Controller; use Think\Controller; class RegisterController extends Controller{ public function index(){ $this->show(); } public function ajax(){ $UserInfo = D('UserInfo'); $username = I('post.username'); $data = I('post.'); // 验证数据格式 if(!$UserInfo->create($data)){ // 获取错误信息 $row = $UserInfo->getError(); $this->error($row); }else{ // 添加数据 $id = $UserInfo->add($data); // 判断是否写入成功 if($id > 0){ // 注册成功 $this->success('注册成功!', U('Login/index')); }else{ $this->error('注册失败!'); } } } } ?>
<?php
/**
* Created by PhpStorm.
* User: outusi
* Date: 15/9/8
* Time: 下午12:23
*/
namespace Home\Model;
use Think\Model;
class UserInfoModel extends Model{
protected $_validate = array(
array('username','require','用户名不能为空'),
array('email', 'email', '邮箱格式不合法!'),
array('email','require','邮箱不能为空!'),
array('password','require','密码不能为空'),
);
}
4、登陆界面 Login / index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<link rel="stylesheet" href="__CSS__/login.css">
</head>
<body>
<div class="login_page">
<div class="login">登录</div>
<div class="email">E-Mail<input class="emailIpt" name="email" type="text"></div>
<div class="password">密码<input class="passIpt" name="password" type="password"></div>
<div class="loginSub"><button class="submit" οnclick="login()">登录</button></div>
<hr>
<div class="prompt">没有账号?</div>
<div class="loadLogin"><button class="loadLoginSub" οnclick="register()">注册</button></div>
<input type="hidden" value="{:U('Register/index')}" name="register" />
<input type="hidden" value="{:U('Login/login')}" name="login" />
</div>
</body>
<script src="__JS__/jquery-2.1.1.min.js"></script>
<script>
function login(){
var email = $('input[name="email"]').val();
var password = $('input[name="password"]').val();
var url = $('input[name="login"]').val();
$.ajax({
type : 'POST',
url : url,
data : {email:email,password:password},
dataType : 'json',
success : function(res) {
if(res.status == 1){
alert(res.info);
window.location.href = res.url;
}else{
alert(res.info);
}
}
});
}
function register(){
var register_url = $('input[name="register"]').val();
window.location.href = register_url;
}
</script>
</html>5、登陆控制器 LoginController
<?php
/**
* Created by PhpStorm.
* User: outusi
* Date: 15/9/8
* Time: 上午10:27
*/
namespace Home\Controller;
use Think\Controller;
class LoginController extends Controller{
public function index(){
$this->show();
}
public function login(){
$UserInfo = M('UserInfo');
$data = I('post.');
$email = I('post.email');
$result = $UserInfo->field('id')->where($data)->find();
$id = $result['id'];
if($result){
session('email',$email);
session('id',$id);
$this->success('登陆成功',U('Personal/index'));
}else{
$this->error('登陆失败');
}
}
}6、个人中心界面 Personal / index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<link rel="stylesheet" href="__CSS__/personal.css">
</head>
<body>
<div class="personal">
<p>个人中心页</p>
<!--<p class="logout">注销</p>-->
<p>欢迎你,{$username}</p>
<p><button id="logout" οnclick="logout()">注销</button></p>
<input type="hidden" value="{:U('Personal/logout')}" name="logout" />
</div>
</body>
<script src="__JS__/jquery-2.1.1.min.js"></script>
<script>
function logout(){
var url = $('input[name="logout"]').val();
$.ajax({
url : url,
dataType : 'json',
success : function(res) {
if(res.status == 1){
alert(res.info);
window.location.href = res.url;
}else{
alert(res.info);
}
}
});
}
</script>
</html>7、个人中心控制器 Personal / index.html
<?php
/**
* Created by PhpStorm.
* User: outusi
* Date: 15/9/8
* Time: 上午11:42
*/
namespace Home\Controller;
use Think\Controller;
class PersonalController extends Controller{
public function index(){
//通过session判断用户是否登陆过
if(session('?email') && session('email')!= null){
$UserInfo = M('UserInfo');
$data['email'] = session('email');
$result = $UserInfo->field('username')->where($data)->find();
$username = $result['username'];
$this->assign('username',$username);
$this->display();
}else{
}
}
//注销
public function logout(){
$result = session_destroy();
if($result){
$this->success('注销成功',U('Login/index'));
}else{
$this->error("注销失败");
}
}
}8、登陆css文件 public / Home / css / login.css
/*div{text-align:center}*/
.login_page{
margin:auto;
height:450px;
width: 400px;
border: 1px solid #e1e1e8;
/*background: #e1e1e8;*/
}
.login{
text-align: center;
height: 40px;
width: 100%;
background:#e1e1e8;
}
.username{
/*float: left;*/
height: 20px;
width: 370px;
margin:10px auto;
/*border: 1px solid #e1e1e8;*/
}
.userIpt{
float: left;
height: 30px;
width: 364px;
margin:10px auto;
/*margin: auto;*/
}
.email{
height: 20px;
width: 370px;
margin:40px auto;
/*border: 1px solid #e1e1e8;*/
}
.emailIpt{
height: 30px;
width: 364px;
margin:10px auto ;
/*margin: auto;*/
}
.password{
height: 20px;
width: 370px;
margin:65px auto;
/*border: 1px solid #e1e1e8;*/
}
.passIpt{
height: 30px;
width: 364px;
margin:10px auto ;
/*margin: auto;*/
}
.loginSub{
height: 40px;
width: 370px;
margin:10px auto ;
}
.submit{
background: cornflowerblue;
width: 50px;
height: 35px;
}
.prompt{
height: 30px;
width: 370px;
margin:10px auto ;
}
.prompt a{
text-decoration:none;
}
.loadLogin{
height: 30px;
width: 370px;
margin:10px auto;
}
.loadLoginSub{
background:#B0C3DF;
width: 370px;
height: 35px;
}
9、注册css文件 public / Home / css / register.css
/*div{text-align:center}*/
.register_page{
margin:auto;
height:450px;
width: 400px;
border: 1px solid #e1e1e8;
/*background: #e1e1e8;*/
}
.register{
text-align: center;
height: 40px;
width: 100%;
background:#e1e1e8;
}
.username{
/*float: left;*/
height: 20px;
width: 370px;
margin:10px auto;
/*border: 1px solid #e1e1e8;*/
}
.userIpt{
float: left;
height: 30px;
width: 364px;
margin:10px auto;
/*margin: auto;*/
}
.email{
height: 20px;
width: 370px;
margin:40px auto;
/*border: 1px solid #e1e1e8;*/
}
.emailIpt{
height: 30px;
width: 364px;
margin:10px auto ;
/*margin: auto;*/
}
.password{
height: 20px;
width: 370px;
margin:65px auto;
/*border: 1px solid #e1e1e8;*/
}
.passIpt{
height: 30px;
width: 364px;
margin:10px auto ;
/*margin: auto;*/
}
.regSub{
height: 40px;
width: 370px;
margin:10px auto ;
}
.submit{
background: cornflowerblue;
width: 50px;
height: 35px;
}
.prompt{
height: 30px;
width: 370px;
margin:10px auto ;
}
.prompt a{
text-decoration:none;
}
.loadLogin{
height: 30px;
width: 370px;
margin:10px auto;
}
.loadLoginSub{
background:#B0C3DF;
width: 370px;
height: 35px;
}版权声明:本文为scenewood原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。