基本信息
源码名称: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");
?>