基本信息
源码名称:Zend DbTable.php验证以及Sqlite.php 数据库操作示例
源码大小:5.19KB
文件格式:.zip
开发语言:PHP
更新时间:2012-12-18
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元×
微信扫码支付:2 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
auth验证以及sqlite数据库基本操作
Zend/Auth/Adapter/DbTable.php以及Zend/Db/Adapter/Pdo/Sqlite.php示例
含有验证
代码片段一:
<?php require_once 'Zend/Auth/Adapter/Digest.php'; //加载Zend_Auth基本接口 $filename="pass.txt"; //定义文件名 $realm1="realm"; //定义领域1 $username1="user"; //定义用户名1 $password1="password"; //定义密码1 /*创建一个摘要式认证对象*/ $auth1=new Zend_Auth_Adapter_Digest($filename,$realm1,$username1,$password1); $result1=$auth1->authenticate(); //返回一个Zend_Auth_Result echo "信息:".$realm1." ".$username1." ".$password1; if($result1->isValid()) //判断结果 { echo "成功通过认证!"; //如果成功输出内容 } else //如果失败输出内容 { echo "无法通过认证!"; echo "<p>"; echo "失败原因为:<p>"; print_r($result1->getMessages()); //输出失败原因 } echo "<p>"; /*以下内容同上*/ $realm2="ms"; //定义领域2 $username2="bill"; //定义用户名2 $password2="boss"; //定义密码2 $auth2=new Zend_Auth_Adapter_Digest($filename,$realm2,$username2,$password2); $result2=$auth2->authenticate(); //返回一个Zend_Auth_Result echo "信息:".$realm2." ".$username2." ".$password2; if($result2->isValid()) //判断结果 { echo "成功通过认证!"; //如果成功输出内容 } else //如果失败输出内容 { echo "无法通过认证!"; echo "<p>"; echo "失败原因为:<p>"; print_r($result2->getMessages()); //输出失败原因 } echo "<p>"; $realm3="ms"; //定义领域3 $username3="user"; //定义用户名3 $password3="123"; //定义密码3 $auth3=new Zend_Auth_Adapter_Digest($filename,$realm3,$username3,$password3); $result3=$auth3->authenticate(); //返回一个Zend_Auth_Result echo "信息:".$realm3." ".$username3." ".$password3; if($result3->isValid()) //判断结果 { echo "成功通过认证!"; //如果成功输出内容 } else //如果失败输出内容 { echo "无法通过认证!"; echo "<p>"; echo "失败原因为:<p>"; print_r ($result3->getMessages()); //输出失败原因 } ?>
代码片段二:
<?php require_once 'Zend/Auth/Adapter/DbTable.php'; //加载Zend_Db/Adapter/Pdo/Sqlite.php require_once 'Zend/Db/Adapter/Pdo/Sqlite.php'; //在当前目录下创建一个名为db.mdb的数据库 $dbAdapter=new Zend_Db_Adapter_Pdo_Sqlite(array('dbname'=>'db.mdb')); //构造一个简单表的创建语句 $sqlCreate='CREATE TABLE [users](' .'[id] INTEGER NOT NULL PRIMARY KEY,' .'[username] VARCHAR(50) UNIQUE NOT NULL,' .'[password] VARCHAR(32) NULL,' .'[real_name] VARCHAR(150) NULL)'; //执行建表语句 $dbAdapter->query($sqlCreate); //构造用来插入一行可以成功认证的数据的语句 $sqlInsert='INSERT INTO users(username,password,real_name)'.'VALUES("my_username","my_password","my Real Name")'; //执行插入数据操作 $dbAdapter->query($sqlInsert); ?>
代码片段三:
<?php //加载Zend_Auth/Adapter/Dbtable.php require_once 'Zend/Auth/Adapter/DbTable.php'; //加载Zend_Db_Adapter/Pdo/Sqlite.php require_once 'Zend/Db/Adapter/Pdo/Sqlite.php'; //创建数据库对象 $dbAdapter=new Zend_Db_Adapter_Pdo_Sqlite(array('dbname'=>'db.mdb')); //创建适配器对象 $authAdapter=new Zend_Auth_Adapter_DbTable($dbAdapter); $authAdapter->setTablename('users'); //设置认证表名 $authAdapter->setIdentityColumn('username'); //设置标记列 $authAdapter->setCredentialColumn('password'); //设置凭记列 $authAdapter->setIdentity('123') ->setCredential('456'); //设置标记与凭记内容 $result = $authAdapter->authenticate(); //进行认证并返回一个Zend_Auth_Result对象 $temp=$result->isValid(); //调用对象的isValid()方法 if($temp) //判断是否成功通过认证 { echo "使用用户名123密码456成功通过认证!"; echo "<p>"; } else { echo "使用用户名123密码456无法通过认证!"; echo "<p>"; } $authAdapter->setIdentity('my_username') ->setCredential('my_password'); //设置标记与凭记内容 $result = $authAdapter->authenticate(); //进行认证 //print_r($result->getResultRowObject()); $authAdapter->getResultRowObject('username','password'); $temp=$result->isValid(); //调用isValid()方法 if($temp) { echo "使用用户名my_username,密码my_password成功通过认证!"; echo "<p>"; } else { echo "使用用户名my_username,密码my_password无法通过认证!"; echo "<p>"; } ?>
代码片段四:
<?php //加载Zend_Auth/Adapter/Dbtable.php require_once 'Zend/Auth/Adapter/DbTable.php'; //加载Zend_Db_Adapter/Pdo/Sqlite.php require_once 'Zend/Db/Adapter/Pdo/Sqlite.php'; //创建数据库对象 $dbAdapter=new Zend_Db_Adapter_Pdo_Sqlite(array('dbname'=>'db.mdb')); //创建适配器对象 $authAdapter=new Zend_Auth_Adapter_DbTable($dbAdapter); $authAdapter->setTablename('users'); //设置认证表名 $authAdapter->setIdentityColumn('username'); //设置标记列 $authAdapter->setCredentialColumn('password'); //设置凭记列 $authAdapter->setIdentity('my_username') ->setCredential('my_password'); //设置标记与凭记内容 $authAdapter->authenticate(); //进行认证 $result=$authAdapter->getResultRowObject(); //获取结果的一行 echo "获取的一行结果内容为:"; echo "<p>"; print_r($result); //输出结果内容 ?>
代码片段五:
<?php //加载Zend_Auth_Adapter_Http组件 require_once 'Zend/Auth/Adapter/Http.php'; //加载Zend_Auth_Adapter_Http_Resolver_File组件 require_once 'Zend/Auth/Adapter/Http/Resolver/File.php'; $config=array( 'accept_schemes'=>'basic', 'realm'=>'ms', ); //定义配置数组 $adapter=new Zend_Auth_Adapter_Http($config); //实例化一个Zend_Auth_Adapter_Http对象 $basicResolver=new Zend_Auth_Adapter_Http_Resolver_File(); //实例化resolver文件对象 $basicResolver->setFile('pass2.txt'); //设置文件 $adapter->setBasicResolver($basicResolver); //设置基本认证文件对象 require_once 'Zend/Controller/Request/Http.php'; $request=new Zend_Controller_Request_Http(); require_once 'Zend/Controller/Response/Http.php'; $response=new Zend_Controller_Response_Http(); assert($request instanceof Zend_Controller_Request_Http); assert($response instanceof Zend_Controller_Response_Http); $adapter->setRequest($request); $adapter->setResponse($response); $result = $adapter->authenticate(); if (!$result->isValid()) { echo "没有通过验证!"; } ?>
代码片段六:
<?php require_once 'Zend/Auth/Adapter/Interface.php'; //引用认证适配器接口 class MyAdapter implements Zend_Auth_Adapter_Interface //创建自定义类 { protected $_username; //用户名属性 protected $_password; //密码属性 public function __construct($username=null,$password=null) //类的构造函数 { // } public function getUsername() //获取用户名方法 { return $this->_username; //返回当前用户名 } public function getPassword() //获取密码方法 { return $this->_password; //返回当前密码 } public function setUsername($username) //设置用户名方法 { $this->_username=$username; //设置用户名 return $this; //返回当前对象 } public function setPassword($password) //设置密码方法 { $this->_password=$password; //设置密码 return $this; //返回当前对象 } public function authenticate() //进行认证 { if($this->_username==null or $this->_password==null) //如果参数为空 { //抛出异常 require_once 'Zend/Auth/Adapter/Exception.php'; throw new Zend_Auth_Adapter_Exception("没有指定用户名与密码!"); } else { //定义结果数组 $result=array( 'code'=> Zend_Auth_Result::FAILURE, 'identity' => array( 'username'=>$this->_username, 'password'=>$this->_password ), 'messages'=>array() ); if($this->_username=='bill' and $this->_password=='12345') //判断用户名与密码是否为指定值 { $result['code']=Zend_Auth_Result::SUCCESS; //返回成功CODE } else //如果不是指定值 { $result['code'] = Zend_Auth_Result::FAILURE_CREDENTIAL_INVALID; $result['messages'][]='提供的用户名或者密码不正确'; } } return new Zend_Auth_Result($result['code'], $result['identity'], $result['messages']); } } $my_adapter=new MyAdapter(); //为自定义适配器实例化对象 $my_adapter->setUsername("1234"); //使用方法设置用户名 $my_adapter->setPassword("zzzzz"); //使用方法设置密码 $result=$my_adapter->authenticate(); //再次调用认证方法 if(!$result->isValid()) { echo "使用".$my_adapter->getUsername()."与".$my_adapter->getPassword(); echo "不能通过验证"; echo "<p>其原因为:"; print_r($result->getMessages()); } else { echo "使用".$my_adapter->getUsername()."与".$my_adapter->getPassword(); echo "成功通过验证!"; } echo "<p>"; $my_adapter->setUsername("bill"); //使用方法设置用户名 $my_adapter->setPassword("12345"); //使用方法设置密码 $result=$my_adapter->authenticate(); //再次调用认证方法 if(!$result->isValid()) { echo "使用".$my_adapter->getUsername()."与".$my_adapter->getPassword(); echo "不能通过验证"; echo "<p>其原因为:"; print_r($result->getMessages()); } else { echo "使用".$my_adapter->getUsername()."与".$my_adapter->getPassword(); echo "成功通过验证!"; } ?>
代码片段七:
<?php echo base64_encode("boss"); ?>