基本信息
源码名称:Zend DbTable.php验证以及Sqlite.php 数据库操作示例
源码大小:5.19KB
文件格式:.zip
开发语言:PHP
更新时间:2012-12-18
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 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");
?>