使用MongoDB来实现简单用户登录实例

随着NoSQL数据库管理系统的普及,很多软件的数据存储都转向MongoDB数据库。它采用动态模式将数据转化为结构化的JSON文档存储,提高应用程序性能。
本章教程我们学习使用PHP和MongoDB实现简单的用户登录功能。
学习本教程之前,请保证已经存在PHP mongo驱动,如果你还没有,请通过下面的地址下载:
Windows:
http://docs.mongodb.org/manual/tutorial/install-mongodb-on-windows/
Linux和Mac
http://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/
连接到MongoDB
无验证连接
$mongo = new Mongo();
$db = $mongo->selectDB(“test”);
?>
验证连接
$mongo = new Mongo(“mongodb://{$username}:{$password}@{$host}”);
$db = $mongo->selectDB(“test”);
?>
默认情况下,MongoDB有一个“test”示例数据库。或者你也可以创建新的数据库:
$ db = $ mongo - > Database_Name;
查询
PHP获取数据库列表
Mongo在终端使用如下命令也可以达到上面的查询效果:
db.listDatabases
db.test.showCollections
创建集合(表)
PHP语句创建表
$db->createCollection(“people”,false);
这里的false表示无穷大小,如果为true,则必须指定表的最大空间。
Mongo终端命令创建表:
$db->createCollection(“people”,false);
插入记录
PHP代码插入记录
Mongo终端命令插入记录
b.people.insert({user:”user_name”,password:”password”});
更新记录
PHP代码实现更新MongoDB
$update = array(“$set” => array(“user” => “demo@9lessons.info”));
$where = array(“password” => “password”);
$people->update($where,$update);
?>
Mongo 终端命令实现更新
db.people.update({password:”password”},{$set : {user:”demo@uncletoo.com”}});
HTML表单
完整的PHP代码 index.php
$succss = "";
if(isset($_POST) and $_POST['submitForm'] == "Login" )
{
$usr_email = mysql_escape_string($_POST['usr_email']);
$usr_password = mysql_escape_string($_POST['usr_password']);
$error = array();
// Email Validation
if(empty($usr_email) or !filter_var($usr_email,FILTER_SANITIZE_EMAIL))
{
$error[] = "Empty or invalid email address";
}
if(empty($usr_password)){
$error[] = "Enter your password";
}
if(count($error) == 0){
$con = new Mongo();
if($con){
// Select Database
$db = $con->test;
// Select Collection
$people = $db->people;
$qry = array("user" => $usr_email,"password" => md5($usr_password));
$result = $people->findOne($qry);
if($result){
$success = "You are successully loggedIn";
// Rest of code up to you....
}
} else {
die("Mongo DB not installed");
}
}
}
?>
本文讲述了PHP MongoDB 实现简单用户登录的实例,希望本文能给读者带来灵感,帮助读者解决疑问,感谢您阅读本文。 使用MongoDB来实现简单用户登录实例


