我有一个使用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) 我在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.
我试图将此表单中的数据发布到数据库中.我尝试过一些没有成功的教程.这是我的代码.有任何想法吗?
视图:
<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) 我有一个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) node.js ×3
express ×2
mysql ×2
openshift ×2
ajax ×1
codeigniter ×1
database ×1
javascript ×1
jquery ×1
passport.js ×1
php ×1
ssl ×1