Report this

What is the reason for this report?

it will work well in localhost, when ever i deploy it on to server, registration form doesnot responding??

Posted on October 17, 2017

Here is my code:

var express = require('express'),
    http = require('http'),
    path = require('path'),
   hash = require('./pass').hash;
var moment = require('moment');
var bcrypt = require('bcrypt');
var app = express();
var methodOverride = require('method-override');
var mysql      = require('mysql');
connection.connect(function(err){
if(!err) {
    console.log("Database is connected ... nn");
} else {
    console.log("Error connecting database ... nn");
}
});
/*
Middlewares and configurations 
*/
app.configure(function () {
    app.use(express.bodyParser());
    app.use(express.cookieParser('Authentication Tutorial '));
  app.use(express.session());
    app.use(methodOverride(function(req, res){
 if (req.body && typeof req.body == 'object' && '_method' in req.body) 
 { 
  var method = req.body._method;
  delete req.body._method;
  return method;
} 
}));
    app.use(express.static(path.join(__dirname, 'public')));
    app.set('views', __dirname + '/views');
    app.set('view engine', 'ejs');
});
var connection = mysql.createConnection({
  host     : 'hostss',
  user     : 'user',
  password : 'password*',
  database : 'db'
});
app.use(function (req, res, next) {
    var err = req.session.error,
        msg = req.session.success;
    delete req.session.error;
    delete req.session.success;
    res.locals.message = '';
    if (err) res.locals.message = '<p class="msg error">' + err + '</p>';
    if (msg) res.locals.message = '<p class="msg success">' + msg + '</p>';
    next();
});
/*
Helper Functions
*/

function user_exits(req, res, next) { 
  var username= req.body.username;
 connection.query("SELECT * FROM user WHERE username =?",[username],function (error, results, fields) {
if (error) {
    console.log(error);
    res.send("fail internal error"+"\r\n");
}
if (results.length >0) {
    console.log('User is Already Exists');
    res.send("fail user already exists"+"\r\n");

} else {


        console.log('No user Available oN that name, U can insert it');
        next();
}

 });
}
                  
/*
Routes
*/
app.get("/", function (req, res) {

        res.render("index", { moment: moment });
    
});

app.get("/signup", function (req, res) {
        res.render("signup",{ moment: moment });
    
});

app.post("/signup",user_exits,function (req, res){
    bcrypt.hash(req.body.password, 5, function( err, bcryptedPassword) {
   
   var users={
     "username":req.body.username,
      "email":req.body.email,
     "password":bcryptedPassword,
     
   } 
   console.log(users);
   connection.query('INSERT INTO user SET ?',users, function (error, results, fields) {
  if (error) {
    console.log("error ocurred",error);
    res.send({
      "code":400,
      "failed":"error ocurred"
    });
  }else{
    console.log('The solution is: ', results);
    res.send({
      "code":200,
      "success":"user registered sucessfully"
        });
  }
  });
  });
    
   
});

app.get("/login", function (req, res) {
    res.render("login",{ moment: moment });
});

app.post("/login",function (req, res) {
   var sess = req.session;
      var username= req.body.username;
  var password = req.body.password;
  connection.query('SELECT * FROM user WHERE username = ?',[username], function (error, results, fields) {
  if (error) {
   console.log(error);
  }else{
    if(results.length >0){
      bcrypt.compare(password, results[0].password, function(err, doesMatch){
        if (doesMatch){
             req.session.userId = results[0].id;
            req.session.user = results[0];
            console.log(results[0].id);
     res.redirect('/profile/'+results[0].id);
      }else{
     res.send({
       "code":204,
       "success":"Email and password does not match"
         });
      }
    });
    }
    else{
      console.log("fine");
    }
  }
  });
});

But when I upload it on DigitalOcean server the form is not working? please developer help me to fix that problem.



This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Hi there,

Just a quick follow up on this question in case that anyone comes across this in the future.

What I could suggest in such cases usually is:

Alternatively, you could use the DigitalOcean App platform so that you don’t have to do any server configuration:

https://docs.digitalocean.com/products/app-platform/reference/buildpacks/nodejs/

Also, I could suggest following the steps here on how to deploy a Node app to DigitalOcean:

Best,

Bobby

The developer cloud

Scale up as you grow — whether you're running one virtual machine or ten thousand.

Get started for free

Sign up and get $200 in credit for your first 60 days with DigitalOcean.*

*This promotional offer applies to new accounts only.