Currently the project is developed with angular 5, express and a SQL database. When entering an email with points in its structure (for example: [email protected]) it does not enter them into the database.
This is my code:
add : function(req, res, next){
var fechaactual = new Date();
var fecha = dateFormat(fechaactual, 'yyyy-mm-dd');
var config = require('.././bd/config');
var db = mysql.createConnection(config);
db.connect();
var ban = false;
var caf_id = null;
var ban = false;
var objSq = module.exports.obj("", 0, req, false, 1);
if(objSq){
async.waterfall(
[function(callback){
db.query('SELECT * FROM tbl_usuario where usu_correo = ?', objSq.usuario.usu_correo, function(err, rows, fields){
if(err) {
if(req.query.disp_tipo == vs.disp_movil){
res.send('{"response":"'+vs.response_error+'"}');
}else{
console.log("error >>> ", err );
throw err;
}
}
if(rows.length > 0){
if(req.query.disp_tipo == vs.disp_movil){
res.send('{"response":"'+vs.response_error_email+'"}');
}else{
req.flash('email', 'El email ya existe');
return res.redirect('/view/dispositivos/signin');
}
}else{
callback(null, true);
}
});
}, function(arg1, callback){
db.query('SELECT * FROM tbl_caficultor where caf_celular = ?', objSq.obj.caf_celular, function(err, rows, fields){
if(err) {
if(req.query.disp_tipo == vs.disp_movil){
res.send('{"response":"'+vs.response_error+'"}');
}else{
console.log("error >>> ", err );
throw err;
}
}
if(rows.length > 0){
if(req.query.disp_tipo == vs.disp_movil){
res.send('{"response":"'+vs.response_error_telefono+'"}');
}else{
req.flash('telefonoerror', 'El telefono ya existe');
return res.redirect('/view/dispositivos/signin');
}
}else{
callback(null, true);
}
});
}, function(arg2, callback){
db.query('INSERT INTO tbl_usuario SET ?', objSq.usuario, function(err, rows, fields){
if(err) {
if(req.query.disp_tipo == vs.disp_movil){
res.send('{"response":"'+vs.response_error+'"}');
}else{
console.log("error >>> ", err );
throw err;
}
}
ban = true;
var idUsuario = rows.insertId;
console.log("id usuario>>"+idUsuario);
callback(null, idUsuario);
});
},function(arg3, callback){
if(ban){
objSq.obj.usu_id = arg3;
console.log("tbl_caficultor-----1>>>>"+JSON.stringify(objSq.obj));
db.query('INSERT INTO tbl_caficultor SET ?', objSq.obj, function(err, rows, fields){
if(err) {
if(req.query.disp_tipo == vs.disp_movil){
res.send('{"response":"'+vs.response_error+'"}');
}else{
console.log("error >>> ", err );
throw err;
}
}
console.log("tbl_caficultor----->>>>"+JSON.stringify(rows));
var idCaficultor = rows.insertId;
console.log("id tbl_caficultor>>"+idCaficultor);
var data = {
usu_id: arg3,
caf_id: idCaficultor
}
db.end();
callback(null, data);
});
}
}],
function (err, result) {
if (err) {
console.log("error de consulta ver");
}
if(req.query.disp_tipo == vs.disp_movil){
res.send('{"response":"'+vs.response_ok+'","usu_id":"'+result.usu_id+'","caf_id":"'+result.caf_id+'"}');
}else{
req.flash('info', 'Se ha registrado correctamente, ya puede iniciar sesion');
return res.redirect('/view/dispositivos/signin');
//res.render('Caficultores/addView', {info : 'Caficultor creado correctamente'});
}
}
);
}
},