私の問題は、フォームから情報を取得してデータベースにデータを追加することです。 "名前"として情報を追加したいと思います。 「電子メール」は正しく追加できますが、他のデータは追加できません。データベースにデータを追加する際の問題
マイコード:
buttonsignup.addEventListener('click', error => {
var nameCompany = document.getElementById('nameCompany').value;
var email = document.getElementById('email').value;
});
function add(nameCompany,email) {
firebase.database().ref().child('users_company').push({
nameCompany: nameCompany,
email: email
});
}
function intFirebase() {
/*CURRENT USER*/
firebase.auth().onAuthStateChanged(function(user) {
if (user != null) {
console.log(user);
console.log('El UID es '+user.uid);
add(nameCompany,user.email);
} else {
console.log('No user is signed in.');
}
});
}
window.onload = function() {
intFirebase();
}
さて、コードの中にコーヒーをオンにした後。私はこの解決策を見つけました。しかし...それはよい練習ですか?あなたのintFirebase機能で
const database = firebase.database();
var user = firebase.auth().currentUser;
/* BOTON SIGNUP */
buttonsignup.addEventListener('click', error => {
\t var nameCompany = document.getElementById('nameCompany').value;
\t var email = document.getElementById('email').value;
\t var password_1 = document.getElementById('password_1').value;
\t var password_2 = document.getElementById('password_2').value;
\t
\t if (password_1 == password_2) {
\t \t if (password_1.length < 8) {
\t \t \t console.log('Contraseña muy corta');
\t \t \t document.getElementById("errorPassword").innerHTML = "8 characters";
\t \t } else {
\t \t \t firebase.auth().createUserWithEmailAndPassword(email, password_1).then (function(result) {
\t \t \t \t add(nameCompany,email);
\t \t \t }).catch(function (error) {
\t \t \t \t var errorCode = error.code;
\t \t \t \t var errorMessage = error.message;
\t \t \t \t };
\t \t \t });
\t \t }
\t } else{
\t \t console.log('errorPassword');
\t }
});
function add(nameCompany,email) {
\t firebase.database().ref().child('users_company').push({
\t \t nameCompany: nameCompany,
\t \t emailCompany: email
\t });
}
function intFirebase() {
\t /*CURRENT USER*/
\t firebase.auth().onAuthStateChanged(function(user) {
\t \t if (user != null) {
\t \t \t console.log(user);
\t \t \t console.log('El UID es '+user.uid);
\t \t } else {
\t \t \t console.log('No user is signed in.');
\t \t }
\t });
}
window.onload = function() {
\t intFirebase();
}
とデータベースのルール
{
"rules": {
"users_company": {
"$uid": {
".read": "auth != null && auth.uid === $uid",
".write": true,
//Change this code to: I can not do scripts in the database. -> ".write": "auth != null && auth.uid === $uid",
"nameCompany" : {
\t ".validate": "newData.isString() && newData.val().length < 100"
},
"emailCompany" :{
\t ".validate": "newData.isString() && newData.val().length < 100"
}
}
}
}
}
質問のタイトルには、より具体的(専門的)にする必要があります。 「データベース」ではなく「Firebaseデータベース」です。あなたのタグのリストにfirebaseがある間、それは十分ではありません。がんばろう。 – Reid