PHP MongoDB 简单用户登录实现的实例
jopen
11年前
随着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
无验证连接
</div> </div>
验证连接
<?php $mongo = new Mongo(); $db = $mongo->selectDB(“test”); ?>
验证连接
</div> </div>
默认情况下,MongoDB有一个“test”示例数据库。或者你也可以创建新的数据库:
$ db = $ mongo - > Database_Name;
查询
PHP获取数据库列表
</div> </div>
Mongo在终端使用如下命令也可以达到上面的查询效果:
<?php $mongo = new Mongo(“mongodb://{$username}:{$password}@{$host}”); $db = $mongo->selectDB(“test”); ?>
默认情况下,MongoDB有一个“test”示例数据库。或者你也可以创建新的数据库:
$ db = $ mongo - > Database_Name;
查询
PHP获取数据库列表
//获取数据库列表 $mongo->admin->command(array(“listDatabases” => 1)); //获取test数据库的表 $db->listCollections();
Mongo在终端使用如下命令也可以达到上面的查询效果:
</div> </div>
创建集合(表)
PHP语句创建表
$db->createCollection(“people”,false);
这里的false表示无穷大小,如果为true,则必须指定表的最大空间。
Mongo终端命令创建表:
$db->createCollection(“people”,false);
插入记录
PHP代码插入记录
</div> </div>
Mongo终端命令插入记录
b.people.insert({user:”user_name”,password:”password”});
更新记录
PHP代码实现更新MongoDB
Mongo 终端命令实现更新
db.people.update({password:”password”},{$set : {user:”demo@uncletoo.com”}});
HTML表单
db.listDatabases db.test.showCollections
创建集合(表)
PHP语句创建表
$db->createCollection(“people”,false);
这里的false表示无穷大小,如果为true,则必须指定表的最大空间。
Mongo终端命令创建表:
$db->createCollection(“people”,false);
插入记录
PHP代码插入记录
<?php $people = $db->people; $insert = array(“user” => “demo@uncletoo.com”, “password” => md5(“demo_password”)); $db->insert($insert); ?>
Mongo终端命令插入记录
b.people.insert({user:”user_name”,password:”password”});
更新记录
PHP代码实现更新MongoDB
<?php $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表单
</div> </div>
完整的PHP代码 index.php
<form action="index.php" method="POST"> Email: <input type="text" id="usr_email" name="usr_email" /> Password: <input type="password" id="usr_password" name="usr_password" /> <input name="submitForm" id="submitForm" type="submit" value="Login" /> </form>
完整的PHP代码 index.php
<?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"); } } } ?>