小编use*_*352的帖子

Express-mysql-session阻止护照deserializeUser运行

我有一个使用passport.js的应用程序通过Facebook登录用户,我正在尝试使用express-mysql-session来保持他们的登录状态.如果我不包含express-mysql-session代码,护照serializeUser和deserializeUser函数就可以了......但是当我取消注释试图用express-mysql-session存储会话的代码时,deserializeUser函数不会没有被击中,用户永远无法正常登录.

server.js文件

var express      = require('express');
var mysql        = require('mysql');
var passport     = require('passport');
var session      = require('express-session');
var MySQLStore   = require('express-mysql-session')(session);

if (typeof process.env.OPENSHIFT_MYSQL_DB_HOST === "undefined"){
    var options = {
        host     : 'localhost',
        port     : '3307',
        user     : 'user',
        password : 'password',
        database : 'database',
        socketpath: '/var/run/mysqld/mysqld.sock'
    }
} else { 
    var options = {
        host     : process.env.OPENSHIFT_MYSQL_DB_HOST,
        port     : process.env.OPENSHIFT_MYSQL_DB_PORT,
        user     : process.env.OPENSHIFT_MYSQL_DB_USERNAME,
        password : process.env.OPENSHIFT_MYSQL_DB_PASSWORD,
        database : process.env.OPENSHIFT_APP_NAME,
        socket   : process.env.OPENSHIFT_MYSQL_DB_SOCKET
    }
};    

var connection = mysql.createConnection(options); …
Run Code Online (Sandbox Code Playgroud)

javascript mysql node.js express passport.js

65
推荐指数
1
解决办法
1914
查看次数

使用openshift nodejs app接收"SSL_connect returns = 1 errno = 0 state = SSLv3 read server hello A:sslv3 alert handshake failure"

我在openshift上有一个nodejs应用程序,当我们在本地开发时,我们使用rhc port-forward命令连接到我们的数据库.

我们已经实施了护照,通过谷歌和Facebook验证用户.我已经验证了我的自我,我们仍然可以使用rhc命令.我的合作伙伴最近通过脸书验证了自己,不久之后(约1周),我们抛出了这个错误.不知道这是否完全相关,但包括它可能不会有害.

Connection to openshift.redhat.com failed: A secure connection could not be established to the   server
(SSL_connect returned=1 errno=0 state=SSLv3 read server hello A: sslv3 alert handshake failure). You may
disable secure connections to your server with the -k (or --insecure) option
'https://openshift.redhat.com/broker/rest/api'.

If your server is using a self-signed certificate, you may disable certificate checks with the -k (or
--insecure) option. Using this option means that your data is potentially visible to third parties.
Run Code Online (Sandbox Code Playgroud)

关于如何解决这个问题的任何想法?我在其他堆栈问题上看到了这个错误,但是我看到的每一个问题,提出问题的人都在使用ruby.

ssl node.js openshift openshift-client-tools

7
推荐指数
2
解决办法
7938
查看次数

使用AJAX将表单数据传递给控制器​​,使用Codeigniter传递jquery

我试图将此表单中的数据发布到数据库中.我尝试过一些没有成功的教程.这是我的代码.有任何想法吗?

视图:

<form method="post" name="myForm1" id="myForm1" enctype="multipart/form-data" >
Email: <input type="text" name="email" id="email">
Question: <input type="text" name="qText" id="qText">
<input id="submitbutton" type="submit">
</form>
Run Code Online (Sandbox Code Playgroud)

AJAX(在视图中,在表单下方)

<script type='text/javascript' language='javascript'>

$("#submitbutton").click(function(){


$.ajax({
       url:'http://localhost:8888/index.php/trial/insert_into_db',
       type: 'POST',
       data: $("#myForm1").serialize(),
       success: function(){
           alert("success");
       },
       error: function(){
           alert("Fail")
       }
   });
   e.preventDefault();
});


</script>
Run Code Online (Sandbox Code Playgroud)

调节器

  function insert_into_db(){
    $this->load->model('insert_db');
    $this->insert_db->insertQ();  
}
Run Code Online (Sandbox Code Playgroud)

模型

 class Insert_db extends CI_Model{

    function insertQ(){
        $email = $_POST['email'];
        $qText = $_POST['qText'];
        $this->db->query("INSERT INTO questions VALUES('','$email','$qText','','')");
    }
 }
Run Code Online (Sandbox Code Playgroud)

php database ajax jquery codeigniter

2
推荐指数
1
解决办法
2万
查看次数

无法使用nodejs连接到MySQL数据库(openshift应用程序)

我有一个nodejs(带快递)openshift应用程序,它有一个MySQL数据库(因为这是我最熟悉的),我无法弄清楚如何在本地环境中连接它.我的上一个项目我使用php框架和mamp连接到本地数据库.节点的等价物是什么?这是我必须连接的代码:

 var mysql = require('mysql');

 var connection = mysql.createConnection({
  host     : '127.0.0.1',
  port     : '3307',
  database : 'test'
Run Code Online (Sandbox Code Playgroud)

});

 connection.connect( function(err){
if (err){ 
    throw err;
}
else {
    console.log('Connected');
}
 });
Run Code Online (Sandbox Code Playgroud)

尝试连接本地时出现以下错误:

 Error: connect ETIMEDOUT
    at errnoException (net.js:901:11)
    at Object.afterConnect [as oncomplete] (net.js:892:19)
    --------------------
    at Protocol._enqueue (/Users/brandonmoffitt/stembudsnode/node_modules/mysql/lib/protocol/Protocol.js:110:26)
    at Protocol.handshake (/Users/brandonmoffitt/stembudsnode/node_modules/mysql/lib/protocol/Protocol.js:42:41)
    at Connection.connect (/Users/brandonmoffitt/stembudsnode/node_modules/mysql/lib/Connection.js:98:18)
    at Object.<anonymous> (/Users/brandonmoffitt/stembudsnode/server.js:16:12)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)
    at startup (node.js:119:16)
Run Code Online (Sandbox Code Playgroud)

我猜这是因为我试图本地连接到openshift设置的MySQL数据库,我收到错误.我只是不知道还有什么可以尝试.我也尝试过没有密码.

如果我切换到主机的localhost,这是我收到的错误:

Error: ER_DBACCESS_DENIED_ERROR: Access denied …
Run Code Online (Sandbox Code Playgroud)

mysql node.js express openshift

2
推荐指数
1
解决办法
1万
查看次数