在好例子网,分享、交流、成长!
您当前所在位置:首页PHP 开发实例PHP语言基础 → Zend DbTable.php验证以及Sqlite.php 数据库操作示例

Zend DbTable.php验证以及Sqlite.php 数据库操作示例

PHP语言基础

下载此实例
  • 开发语言:PHP
  • 实例大小:5.19KB
  • 下载次数:21
  • 浏览次数:360
  • 发布时间:2012-12-18
  • 实例类别:PHP语言基础
  • 发 布 人:chaogu
  • 文件格式:.zip
  • 所需积分:2
 相关标签: SQLite 数据库 Zend

实例介绍

【实例简介】

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");
?>

 


 

标签: SQLite 数据库 Zend

实例下载地址

Zend DbTable.php验证以及Sqlite.php 数据库操作示例

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警