#html #node.js #postgresql #forms #heroku-postgres
#HTML #node.js #postgresql #формы #heroku-postgres
Вопрос:
Я пытался вставить данные из HTML-формы в свою базу данных HEROKU PostgreSQL онлайн, но это не удалось. когда я выполняю код онлайн, я получаю (внутренняя ошибка сервера) вот код, который у меня есть для этого. Я не уверен, что я, кажется, делаю здесь неправильно.
const express = require('express');
var app = express();
var pg = require('pg');
//set port
var port = process.env.PORT || 8080
var connection = {connectionString: process.env.DATABASE_URL || "postgres://xxxxxxxxxxxxxx"};
var client = new pg.Client(connection);
client.connect();
app.use(express.static(__dirname ));
//routes
app.get('/', function (req, res) {
res.render("index");
});
app.post('/submit', function (req, res) {
// Grab data from http request
const data = {firstname: req.body.firstname,
lastname: req.body.lastname,
mail: req.body.mail,
country: req.body.country,
zipcode: req.body.zipcode,
cityName: req.body.cityName,
google: req.body.google,
twitter: req.body.twitter,
linkdin: req.body.linkdin,
facebook: req.body.facebook,
comm: req.body.comm
};
connection.connect(function (err) {
if (err) throw err;
console.log("connected");
var pg = "INSERT INTO userdata(firstname, lastname, mail, country, zipcode, cityname, google, twitter, linkdin, facebook, comm) VALUES ('" data.firstname "', '" data.lastname "', '" data.mail "', '" data.country "', '" data.zipcode "', " data.cityName ", '" data.google "', '" data.twitter "', '" data.linkdin "','" data.facebook "', '" data.comm "')";
connection.query(pg, function (err, result) {
if (err) throw err;
console.log("table created");
});
});
res.sendFile('index.html', { root: __dirname });
});
app.listen(port, function(){
console.log("app running");
})