Я использовал базу данных Firebase Realtime для своего проекта. Когда я запускаю firebase serve
, тогда весь код и сайт запускались успешно, но когда я запускаю firebase deploy
и развернул сайт на firebase, то теперь он не получает данные из RTDB Firebase.
Но функция set () работает абсолютно нормально. Хотя on () и Once () не работают для firebase deploy
, но работают для firebase serve
.
Это код для страницы "adminlogin".
Я использовал для этого node.js и механизм просмотра hbs.
index. js file
const functions = require('firebase-functions');
const express = require('express');
const hbs = require('hbs');
const bodyParser = require('body-parser');
const session = require('express-session');
const firebase = require('firebase');
// const firebase = require('firebase-admin');
//express
const app = express();
//hbs
app.set('views','./views')
app.set('view engine','hbs');
//body-parser
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended:true}));
app.set('trust proxy', 1); // trust first proxy
app.use(session({
secret: 'Student Information',
// resave: false,
// saveUninitialized: true,
// cookie: { secure: true }
}));
// app.use(express.static(__dirname + '/public'));
var firebaseConfig = {
};
firebase.initializeApp(firebaseConfig);
//firestore variable defining
var database = firebase.database();
app.get('/adminlogin',(req,res) => {
res.render('adminlogin');
});
app.post('/adminlogin',(req,res) => {
var Email = req.body.email;
var Pass = req.body.pass;
console.log(Email);
console.log(Pass);
database.ref('/Admin/').once('value').then(function(doc) {
var name = doc.val().Name;
var email = doc.val().Email;
var password = doc.val().Password;
console.log(name);
console.log(email);
console.log(password);
if(email === Email && password === Pass)
{
req.session.user = "Admin";
req.session.adminname = name;
res.redirect('/adminoption');
return (console.log("Done"));
}
else {
res.redirect('/wrongpassword');
return (console.log("Error"));
}
}).catch(console.log("Error"));
});
adminlogin.hbs file
<html>
<head>
<meta charset="UTF-8">
<title>Admin Login</title>
<meta name="viewport" content="width=device-width, initial-scale=0.7">
<!-- Firebase SDK Files Addition in every HTML Formate files-->
<script src="https://www.gstatic.com/firebasejs/7.11.0/firebase-app.js"></script>
<script src="https://www.gstatic.com/firebasejs/7.11.0/firebase-database.js"></script>
</head>
<body align="center">
<div class="login">
<div class="BVM">
<h2>Admin Login</h2>
<form action="/adminlogin" method="POST">
<p>Email</p>
<input type="email" name="email" placeholder="Enter Username">
<p>Password</p>
<input type="password" name="pass" placeholder="Enter Password"><br><br>
<input type="submit" name="submit" value="Login">
</form>
</div>
</body>
</html>