我之前写过一篇关于这个问题的文章,并且已经在这个问题上工作了很长时间。
我无法将数据从第 1 页传递到第 2 页。我在网上查看了各种教程,但无法获得预期的结果。
我是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());
}
?>
这里有几点需要注意
- 会话未使用(刚刚启动(。
- 在建立数据库连接之前收集信息。(返回空(
检查此链接,你会得到一些想法...
简单的PHP mongoDB用户名和密码检查站点
现在继续将用户的ID存储在会话中,然后在任何页面中启动会话并继续使用。
在PHP中,代码是这样的:-
<?php
session_start();
$_SESSION['user_id'] = $userid;//if match found
?>
在另一个文件中
<?php
session_start();
echo $_SESSION['user_id'];
?>
享受欢呼声!!!!