ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:221.12KB ,
资源ID:5213532      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5213532.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(在Yii下建立工程并实现用户注册登陆图文解析.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

在Yii下建立工程并实现用户注册登陆图文解析.docx

1、在Yii下建立工程并实现用户注册登陆图文解析在Yii下建立工程并实现用户注册登陆【下载Yii库,解压并使用命令建立工程】以库文件在桌面并把工程sys建立在F盘的wamp/www文件夹下为例输入指令:cd Desktopcd yii/frameworkyiic webapp F:wamp/www/sys过程中如果出现”php.exe”不是内部或外部命令,也不是可运行的程序的提示解决方法:打开yiic.bat,在set PHP_COMMAND后添加php的路径修改path环境变量(把php.exe的路径设置到环境变量上去,在分号后面添加即可)数据库数据库代码:- phpMyAdmin SQL Du

2、mp- version 3.4.5- - 主机: localhost- 生成日期: 2015 年 04 月 01 日 09:04- 服务器版本: 5.5.16- PHP 版本: 5.3.8SET SQL_MODE=NO_AUTO_VALUE_ON_ZERO;SET time_zone = +00:00;/*!40101 SET OLD_CHARACTER_SET_CLIENT=CHARACTER_SET_CLIENT */;/*!40101 SET OLD_CHARACTER_SET_RESULTS=CHARACTER_SET_RESULTS */;/*!40101 SET OLD_COLLA

3、TION_CONNECTION=COLLATION_CONNECTION */;/*!40101 SET NAMES utf8 */;- 数据库: sys- - 表的结构 user-CREATE TABLE IF NOT EXISTS user ( userId int(10) NOT NULL AUTO_INCREMENT, userName varchar(64) CHARACTER SET utf8 NOT NULL, password varchar(32) CHARACTER SET utf8 NOT NULL, PRIMARY KEY (userId) ENGINE=InnoDB

4、DEFAULT CHARSET=utf8mb4 AUTO_INCREMENT=3 ;- 转存表中的数据 user-INSERT INTO user (userId, userName, password) VALUES(1, admin, 21232f297a57a5a743894a0e4a801fc3),(2, aa, 4124bc0a9335c27f086f24ba207a4912);/*!40101 SET CHARACTER_SET_CLIENT=OLD_CHARACTER_SET_CLIENT */;/*!40101 SET CHARACTER_SET_RESULTS=OLD_CHA

5、RACTER_SET_RESULTS */;/*!40101 SET COLLATION_CONNECTION=OLD_COLLATION_CONNECTION */;工程文件结构修改$yiic的路径为框架文件的路径修改$yii的路径连接数据库,修改main.php中db的内容,如下【views】Yii的views目录下有layouts和 site 两个文件夹layouts中的main.php为页面主要框架,而site的内容显示在 $content自行修改菜单 pageTitle=Yii:app()-name . - Register; $this-breadcrumbs=array( Reg

6、ister, ); ? beginWidget(CActiveForm, array( id=register-form, enableClientValidation=true, clientOptions=array( validateOnSubmit=true, ), ); ? errorSummary($model); ? labelEx($model,userName); ? textField($model,userName); ? error($model,userName); ? labelEx($model,password); ? passwordField($model,

7、password); ? error($model,password); ? endWidget(); ?pageTitle=Yii:app()-name . - Login;$this-breadcrumbs=array( Login,);?LoginbeginWidget(CActiveForm, array( id=login-form, enableClientValidation=true, clientOptions=array( validateOnSubmit=true, ),); ? labelEx($model,userName); ? textField($model,u

8、serName); ? error($model,userName); ? labelEx($model,password); ? passwordField($model,password); ? error($model,password); ? endWidget(); ?【models】 Yii中的Model主要实现的功能为(1)具备属性来存储数据(2)public functions rules() 用来定义验证规则(3)public function attributeLabels() 声明属性对于的标签名称hasErrors() $this-_identity=new UserI

9、dentity($this-userName,$this-password); if(!$this-_identity-authenticate() $this-addError(password,Incorrect username or password.); /* * Logs in the user using the given username and password in the model. * return boolean whether login is successful */ public function login() if($this-_identity=nu

10、ll) $this-_identity=new UserIdentity($this-userName,$this-password); $this-_identity-authenticate(); if($this-_identity-errorCode=UserIdentity:ERROR_NONE) $duration=$this-rememberMe ? 3600*24*30 : 0; / 30 days Yii:app()-user-login($this-_identity,$duration); return true; else return false; 【Controll

11、ers】array( class=CCaptchaAction, backColor=0xFFFFFF, ), page=array( class=CViewAction, ), ); public function actionIndex() $this-render(index); public function actionRegister() $model = new RegisterForm; if(isset($_POSTRegisterForm) $model-attributes=$_POSTRegisterForm; $userName = $model-userName;

12、/cant be written as $userName = trim($model-userName); or $userName = isset($model-userName); $password = md5($model-password); $conn = Yii:app()-db; $msql = select userName from user where userName = $userName ; $command = $conn-createCommand($msql); $num = $command-queryRow(); /返回userName=$userNam

13、e那条记录 if($num) $this-refresh(); else $sql=insert into user(userName,password) values($userName,$password); $command = $conn-createCommand($sql); $dataReader = $command-query(); if($dataReader) $this-redirect(Yii:app()-createUrl(/site/Login); /控制器间跳转 exit(); $this-refresh(); $this-render(register,arr

14、ay(model=$model); public function actionLogin() $model=new LoginForm; if(isset($_POSTLoginForm) $model-attributes = $_POSTLoginForm; $username = $model-userName; $password = md5($model-password); $conn = Yii:app()-db; $sql = select * from user where userName = $username; $command = $conn-createComma

15、nd($sql); $row = $command-queryAll(); /获取所有数据 foreach($row as $k = $v) /获取到的数据为二维数组 $name = $vuserName; $pw = $vpassword; if($name) if($pw = $password) Yii:app()-sessionuser = $name; /记录登录用户的session $this-redirect(Yii:app()-createUrl(/site/content); else echo password is wrong; $this-refresh(); else

16、 echo user is not exist; $this-refresh(); /刷新页面 / display the login form $this-render(login,array(model=$model); public function actionContent() $model = new ContentForm; if(isset($_POSTContentForm) $model-attributes = $_POSTContentForm; $content = $model-content; $conn = Yii:app()-db; $sql = insert

17、 into user(message)values($content); $command = $conn-createCommand($sql); $data = $command-query(); if($data) $this-redirect(Yii:app()-createUrl(/site/index); $this-render(content,array(model=$model); /* * This is the action to handle external exceptions. */ public function actionError() if($error=

18、Yii:app()-errorHandler-error) if(Yii:app()-request-isAjaxRequest) echo $errormessage; else $this-render(error, $error); ?目录下的文件 password demo=demo, admin=admin, ); if(!isset($users$this-username) $this-errorCode=self:ERROR_USERNAME_INVALID; elseif($users$this-username!=$this-password) $this-errorCode=self:ERROR_PASSWORD_INVALID; else $this-errorCode=self:ERROR_NONE; return !$this-errorCode; ?最终效果:数据库数据:

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1