Я пишу свое первое приложение в Electron.js. Сегодня я внедрил форму входа в систему, но после рабочего дня только с помощью ipcMain разрешаю и импортирую имя пользователя и пароль. Теперь у меня есть база данных на локальном хосте, которую я использую для сохранения пользователей. Я пытаюсь найти в БД имя пользователя, которое я вставляю в поле своего имени пользователя в форме, но когда я вызываю функцию .query, результат 'undefined', и я схожу с ума от этой формы, есть два дня, которые я пытаюсь реализовать это, но была плохая идея! Просьба просветить мой путь !!
- Я пытаюсь соединиться с БД с помощью mysql.createConnection ()
- Я пытаюсь соединиться с формой входа с помощью метода ipc
- Я пытаюсь исследовать мою базу данных, если имя пользователя существует
main.js
var mysql = require('mysql')
const { app, BrowserWindow, ipcMain } = require('electron');
const path = require ('path');
const fs = require('fs');
const os = require('os');
let win; // window
var connection; // connection
// create first BrowserWindow of my app (login page)
function creaPagina () {
win = new BrowserWindow({
width: 800,
height: 600,
show: false,
webPreferences: {
webSecurity: true,
nodeIntegration: true
}
})
win.loadFile("index.html")
}
app.on('ready', creaPagina)
// connection with DB
connection = mysql.createConnection({
host: "****",
user: "****",
password: "****",
database: "App-db"
});
connection.connect(function(err) {
if (err) throw err
console.log("Connected!")
});
// connection with my form for import username and pass
ipcMain.on('form-submission', function (event, username, password) {
console.log("this is the username from the form ->", username)
console.log("this is the password from the form ->", password)
var query = "SELECT * FROM Users WHERE username = " + username + "";
connection.query(query, function (err, result) {
console.log(result) // undefined WTF ???
});
});
renderer.js
const ipcRenderer = require('electron').ipcRenderer;
function sendForm(event) {
event.preventDefault()
let username = document.getElementById("username").value;
let password = document.getElementById("password").value;
ipcRenderer.send('form-submission', username, password);
}
index.html
<body>
<form name="ipcForm" onSubmit="JavaScript:sendForm(event)">
<input type="text" id="username" name="username" placeholder="Username" required>
<input type="password" id="password" name="password" placeholder="Password" required>
<input type="submit" name="submit" value="SIGN UP">
</form>
<script src='renderer.js'></script>
</body>
Запрос на поиск имени пользователя в БД:
Результат -> не определено