1. 程式人生 > >PHP MongoDB 簡單使用者登入實現的例項

PHP MongoDB 簡單使用者登入實現的例項

http://www.uncletoo.com/upfile/201401/2014011429575573.gif

隨著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


無驗證連線

<?php
$mongo = new Mongo();
$db = $mongo->selectDB(“test”);
?>


驗證連線

<?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在終端使用如下命令也可以達到上面的查詢效果:


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” => “
[email protected]
”, “password” => md5(“demo_password”)); $db->insert($insert); ?>

Mongo終端命令插入記錄


b.people.insert({user:”user_name”,password:”password”});


更新記錄


PHP程式碼實現更新MongoDB

<?php
$update = array(“$set” => array(“user” => “[email protected]”));
$where = array(“password” => “password”);
$people->update($where,$update);
?>


Mongo 終端命令實現更新


db.people.update({password:”password”},{$set : {user:”[email protected]”}});


HTML表單


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

本文講述了PHP MongoDB 實現簡單使用者登入的例項,希望本文能給讀者帶來靈感,幫助讀者解決疑問,感謝您閱讀本文。