PHP MongoDB 簡單用戶登錄實現的實例

jopen 10年前發布 | 40K 次閱讀 MongoDB NoSQL數據庫

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


無驗證連接

</div> </div>

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

驗證連接

</div> </div>

    <?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();  
</div> </div>

Mongo在終端使用如下命令也可以達到上面的查詢效果:


</div> </div>

    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);  
    ?>  
</div> </div>
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>

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

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

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!