2014-12-03 108 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']; 
?> 

享受歡呼!!!!!

相關問題