PHP MongoDB 简单用户登录实现的实例

jopen 11年前

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 实现简单用户登录的实例,希望本文能给读者带来灵感,帮助读者解决疑问,感谢您阅读本文。