登陆与注册以及Session
Session 保存状态是在 登陆窗口 检查用户密码的动作上执行
、Models
namespace 注册与登陆以及Session.Models
{
public class UserBF
{
private MyDBDataContext _context = new MyDBDataContext();
public bool Select(string username,string password) //验证用户名和密码是否正确(登陆)
{
var query = _context.logins.Where(P=>P.UserName==username&&P.PassWord==password);
return query.Count() > ;
} public void Insert(string UserName,string PassWord ) //注册
{
logins lo = new logins();
lo.UserName = UserName;
lo.PassWord = PassWord;
_context.logins.InsertOnSubmit(lo);
_context.SubmitChanges();
}
}
} 、Controllers
namespace 注册与登陆以及Session.Controllers
{
public class HomeController : Controller
{ public ActionResult Index()
{
return View();
}
public ActionResult Check(string username,string password) //登陆
{
bool isok= new UserBF().Select(username,password);
if(isok)
{ //保存状态
Session["user"] = username; //记录一下会话(登录状态) //跳转页面
return RedirectToAction("Html","Home");
}
else
{
return RedirectToAction("Index");
} }
public ActionResult Html() //登陆后的主页面
{
if (Session["user"] == null)
{
return RedirectToAction("Index", "Home");
}
return View();
}
public ActionResult Login() //注册编辑动作
{
if (Session["user"] == null)
{
return RedirectToAction("Index", "Home");
}
return View();
}
public ActionResult Insert(string username,string password)//注册动作
{
if (Session["user"] == null)
{
return RedirectToAction("Index", "Home");
}
new UserBF().Insert(username,password);
return RedirectToAction("Index");
}
}
} 、Views
Index:登陆界面
@{
Layout = null;
} <!DOCTYPE html> <html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Index</title>
<style>
.aa
{
position:relative;
margin:auto;
width:400px;
height:400px; }
</style>
</head>
<body> @using(Html.BeginForm("Check","Home"))
{
<div class="aa">
用户名: @Html.TextBox("username","")<br>
密 码: @Html.Password("password","")<br>
<input id="Submit1" type="submit" value="登陆" />
<a href="/Home/Login"><input id="Button1" type="button" value="注册" /></a>
</div>
} </body>
</html> Login:注册页面
@{
Layout = null;
} <!DOCTYPE html> <html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Login</title>
<style>
.aa
{
position:relative;
margin:auto;
width:400px;
height:400px; }
</style>
</head>
<body>
@using(Html.BeginForm("Insert","Home"))
{
<div class="aa">
用户名 : @Html.TextBox("username","")<br>
密 码 : @Html.Password("password","")<br>
确认密码: @Html.Password("passwordagain","")<br>
<input id="Submit1" type="submit" value="注册" />
</div>
}
</body>
</html> Html:登陆后的主页面
@{
Layout = null;
} <!DOCTYPE html> <html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Html</title>
</head>
<body>
<div>
这是登陆后的页面 欢迎您: @Session["user"]
</div>
</body>
</html>
效果图:





登陆与注册以及Session的更多相关文章
- 本博文将一步步带领你实现抽屉官网的各种功能:包括登陆、注册、发送邮箱验证码、登陆验证码、页面登陆验证、发布文章、上传图片、form验证、点赞、评论、文章分页处理以及基于tronado的后端和ajax的前端数据处理。
本博文将一步步带领你实现抽屉官网的各种功能:包括登陆.注册.发送邮箱验证码.登陆验证码.页面登陆验证.发布文章.上传图片.form验证.点赞.评论.文章分页处理以及基于tronado的后端和ajax的 ...
- 动态页面,登陆,注册,留言 JSP
登陆页 主要使用html表单,javascript验证注册信息 <%@ page language="java" contentType="text/html; c ...
- php实现微信扫码自动登陆与注册功能
本文实例讲述了php实现微信扫码自动登陆与注册功能.分享给大家供大家参考,具体如下: 微信开发已经是现在程序员必须要掌握的一项基本的技术了,其实做过微信开发的都知道微信接口非常的强大做起来也非常的简单 ...
- Django2.0——实现简易登陆、注册
思路: 实现简易的登陆.注册,我们至少需要三个HTML页面,一个主页面.一个登陆界面.一个注册界面.为了存储和校验用户的账号和密码,我们需要写一个模型类(用于映射到数据库).两个form类(一个登陆. ...
- android简单登陆和注册功能实现+SQLite数据库学习
最近初学android,做了实验室老师给的基本任务,就是简单的登陆和注册,并能通过SQLite实现登陆,SQlLite是嵌入在安卓设备中的 好了下面是主要代码: 数据库的建立: 这里我只是建立了一个用 ...
- python登陆,注册小程序
def login(username,password): ''' 用于用户登录 :param username: 用户输入用户名 :param password: 用户输入密码 :return: T ...
- nodejs:注册登录session出错以及连接Mongodb数据库时Error connecting to database解决方案
(1)nodejs:注册登录session出错 解决办法: 在app.js 中将var MongoStore = require(connect-mongo')改为var MongoStore = ...
- YII2中自定义用户认证模型,完成登陆和注册
有些时候我们需要自已定义用户类,操作自已建的用户表,来完成登陆和注册功能. 用户表结构如下,当然可以根据自已的需要添加或删除: CREATE TABLE `tb_user` ( `id` int(11 ...
- 一、JDBC的概述 二、通过JDBC实现对数据的CRUD操作 三、封装JDBC访问数据的工具类 四、通过JDBC实现登陆和注册 五、防止SQL注入
一.JDBC的概述###<1>概念 JDBC:java database connection ,java数据库连接技术 是java内部提供的一套操作数据库的接口(面向接口编程),实现对数 ...
随机推荐
- (转)QRCODE二维码介绍及常用控件推荐
什么是QR Code码? QR Code码是由日本Denso公司于1994年9月研制的一种矩阵二维码符号,它具有一维条码及其它二维条码所具有的信息容量大.可靠性高.可表示汉字及图象多种文字信息.保密防 ...
- java web-----MVC设计模式
一,MVC将代码分为三个部分,分别为视图(jsp),模型(javaBean),控制部分(servlet); 视图基本为 jsp 文件,主要内容为界面的html代码,负责显示界面: 模型为 javaBe ...
- 09_httpclient测试SOAP协议
[工程截图]注意:无需使用Wsimport生成客户端代码 [HttpClient.java] import java.io.ByteArrayOutputStream; import java.io. ...
- C++ 泛型编程/模板 泛函编程/Lambda/λ演算
1.泛型编程(C++模板) 其中,Ada, Delpha, Java, C#, Swift 称之为 泛型/generics; ML, Scala和 Haskell 称之为 参数多态/parametri ...
- gdb提示Missing separate debuginfos, use: debuginfo-install glibc-2.12-1.132.el6_5.2.x86_64
用gdb debugc代码的时候弹出这个错误 Missing separate debuginfos, use: debuginfo-install glibc-2.12-1.132.el6_5.2. ...
- js模拟苹果菜单
模拟苹果菜单的js代码是从网上看到的,用来做导航菜单还是蛮好看的.这里借鉴一下. 效果描述:当鼠标移动离哪个图片最近的时候,这个图片最大,鼠标离的图片越远,则图片越小: 原理:主要用到了三角形的勾股定 ...
- 没用调用flush导致的数据保存丢失
在将字符串保存到文件时,我们采有下面的写法,大部分情况下,都可以直接将数据保存到文件中, using (var fs = System.IO.File.Create(path)) { var sw = ...
- 11个有用的Linux命令
Linux命令行吸引了大多数Linux爱好者.一个正常的Linux用户一般掌握大约50-60个命令来处理每日的任务.今天为你解释下面几个命令:sudo.python.mtr.Ctrl+x+e.nl.s ...
- hdu 2844 poj 1742 Coins
hdu 2844 poj 1742 Coins 题目相同,但是时限不同,原本上面的多重背包我初始化为0,f[0] = 1;用位或进行优化,f[i]=1表示可以兑成i,0表示不能. 在poj上运行时间正 ...
- Codeforces 612E - Square Root of Permutation
E. Square Root of Permutation A permutation of length n is an array containing each integer from 1 t ...