2014-12-03 112 views
0

我曾就此发过一篇文章,并且已经在这个问题上研究了很长时间。将数据从一个页面发送到另一个页面,MongoDB和PHP

我无法将数据从page1传递给page2。我在网上查看了各种教程,但一直未能获得理想的结果。

我是MongoDB和PHP的新手。 如果有人可以解释我如何从mongoDB查询数据。

下面我张贴的代码,这两个页面

//LOGIN PAGE 
<? PHP  
session_start(); 
?> 

<html> 
<head> 
<title> Movie Database </title> 
</head> 

<?PHP 

    try { 
     // open connection to MongoDB server 
     $conn = new Mongo('localhost'); 

     // access database 
     $db = $conn->test; 

     // access collection 
     $collection = $db->items; 

     // execute query 
     $cursor = $collection->find(); 

     foreach ($cursor as $obj) { 
      $correct = $obj['username']; 
     } 

     // disconnect from server 
     $conn->close(); 
    } catch (MongoConnectionException $e) { 
     die('Error connecting to MongoDB server'); 
    } catch (MongoException $e) { 
     die('Error: ' . $e->getMessage()); 
    } 


?> 


<body> 
<br> 
<center> 
<h1> Welcome to Login Page </h1> 
<br> 
<br> 
<br> 
<form action="page.php" METHOD="POST"> 
<label>Username :</label> 
<input type="text" Name="username"> 
<br> 
<label>Password :</label> 
<input type="password" Name="password"> 
<br> 
<br> 
<input type="submit" value="Login"> 
<br> 
</center> 
</FORM> 
</body> 
</html> 

第二页就从这里开始

//PAGE 2 
<?PHP 
session_start(); 

    //$db = $conn->test;   

    //echo 'Username: ' . $_POST['username'] . '<br>'; 
    //echo 'Password: ' . $_POST['password'] . '<br>'; 

    $userName = $_POST['username']; 
    $userPass = $_POST['password']; 

    $collection = $db->items; 

    $userN = array('username'=>$userName); 
    $userP = array('password'=>$userPass); 

    $cursor = $collection->find(array($userN,$userP)); 


    foreach ($cursor as $obj) { 
     $foundUserN = $obj['username']; 
     $foundUserP = $obj['password']; 

     if($obj['username'] == $userName && $obj['password'] == $userPass){ 
      echo '<h1>FOUND</h1>';   
     } 
     else{ 
      echo 'not found';   
     } 
    } 

    $conn->close(); 

    try { 
    $conn = new Mongo('localhost'); 

    $db = $conn->test; 

    $conn->close(); 

    } 
    catch (MongoConnectionException $e) { 
     die('Error connecting to MongoDB server'); 
    } 
    catch (MongoException $e) { 
     die('Error: ' . $e->getMessage()); 
    } 
?> 
+0

你应该哈希你的密码! – 2014-12-03 09:31:43

回答

-1

这里有几点需要注意

  1. 没有使用会话(简单启动)。
  2. 建立数据库连接之前收集的信息。(返回NULL)

检查这个环节,你会得到一些想法...

Simple PHP mongoDB Username and Password Check for site

现在继续存储用户的会话ID,然后在任何页面启动会话并继续使用..

在PHP代码如下所示: -

<?php 
    session_start(); 
    $_SESSION['user_id'] = $userid;//if match found 
?> 

在另一个文件

<?php 
    session_start(); 
    echo $_SESSION['user_id']; 
?> 

享受欢呼!!!!!

相关问题