Как сохранить данные из формы html в базу данных mysql, используя javascript? - PullRequest
0 голосов
/ 21 апреля 2020

Я пытаюсь сохранить данные из формы html в базу данных mysql. Очевидно, я новичок в этом, поэтому я знаю, что делаю что-то не так, но после долгих исследований я все еще не могу понять это. Я создал простую версию своей формы для тестирования.

<!DOCTYPE html>
<html>

  </head>
  <body>
  <script src="scripts/test.js"></script>


<form>
<input id="firstName" type="text" class="form-control" name="firstName" placeholder="First Name">
 <input id="lastName" type="text" class="form-control" name="lastName" placeholder="Last Name">
 <input id="userName" type="text" class="form-control" name="userName" placeholder="Username">
 <input id="inputText" type="text" class="form-control" name="email" placeholder="Email">
<input id="currentPassword" type="password" class="form-control" name="currentPassword" placeholder="Current Password"> 

 <input type="submit" onclick="saveAccount()" id="createAccountButton" class="button2" value="Create Account"></input>

</form>

  </body>
</html>

Мой javascript код:

function saveAccount(){
var mysql = require('mysql');

var con = mysql.createConnection({
  host: "localhost",
  user: "root",
  password: "abc123",
  database: "PBSC_Parking_DB"
});

con.connect(function(err) {
  if (err) throw err;
console.log("connected");
});

var firstName = document.getElementById("firstName");
var lastName = document.getElementById("lastName");
var psw = document.getElementById("psw");
var userName = document.getElementById("userName");
var email = document.getElementById("inputText");



var sql = "INSERT INTO accounts (UserName, FirstName, LastName, Email, UserPassword) VALUES ('"+userName+ "', '"+firstName+"','"+lastName+"','"+email+"','"+psw+"')";
con.query(sql, function (err, result) {
    if (err) {
        throw err;

    }

    console.log(result.affectedRows + " record(s) updated");
  });
}

Я читал, что вы предполагаете подключиться к базе данных вне функции, но ее перемещение вне функции не кажется, чтобы решить мою проблему. Мне также сказали, что я не должен использовать «документ». но я не уверен, как еще получить данные из формы, которая будет использоваться в моем операторе sql.

Я пытался жестко кодировать значения в операторе INSERT, не используя функцию, а просто запуская файл js через командную строку. Это работает для обновления моей базы данных, поэтому я знаю, что я правильно подключаюсь ... Я просто не знаю, как заставить это работать с формой.

примечание: я также пытался искать учебники, используя nodejs и e js, но после тщательного изучения учебников я все еще не мог заставить их работать.

1 Ответ

0 голосов
/ 21 апреля 2020

Вы просто извлекаете элементы DOM из формы. Вы хотите запросить значения входных данных.

var firstName = document.getElementById("firstName").value;

И то же самое для других переменных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...