I’m trying to create a simple chat application with Ionic 3 and Firebase. Registering and logging in users works.
Users give their username in login.html and I’d like to use this username later on the chat.html page. This is the next page coming up after logging in. I’m using ionic storage to get and set the username (email address). I can’t see the username from the chat page.
When trying ionic serve, I get this log on console:
ionViewDidLoad ChatPage
There is a space after ChatPage, that’s the initial value of username. I’d like it to change to the current logged in user’s username. I’m trying to get this value in ionViewDidLoad() in chat.ts:
import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams } from 'ionic-angular';
import { AngularFireDatabase } from 'angularfire2/database';
import { Storage } from '@ionic/storage';
@IonicPage()
@Component({
selector: 'page-chat',
templateUrl: 'chat.html',
})
export class ChatPage {
username: string= '';
message: string= '';
constructor(public db: AngularFireDatabase, public navCtrl: NavController, public navParams: NavParams, private storage: Storage) {
this.storage.get('username').then((val) => {
if (val != null) {
this.username= val;
}
});
}
sendMessage() {
this.db.list('/chat').push({
username: this.username,
message: this.message
})
}
ionViewDidLoad() {
let username= '';
this.storage.get('username').then((val) => {
if (val != null) {
username= val;
}
});
console.log('ionViewDidLoad ChatPage', username);
}
}
login.html:
<ion-header>
<ion-navbar>
<ion-title>
Login
</ion-title>
</ion-navbar>
</ion-header>
<ion-content padding>
<ion-list>
<ion-item>
<ion-label floating>Username</ion-label>
<ion-input type="text" [(ngModel)]= "username"></ion-input>
</ion-item>
<ion-item>
<ion-label floating>Password</ion-label>
<ion-input type="text" [(ngModel)]= "password"></ion-input>
</ion-item>
</ion-list>
<div padding>
<button ion-button (click)="signInUser()">Sign in</button>
</div>
</ion-content>
login.ts:
import { Component} from '@angular/core';
import { IonicPage, NavController, AlertController, NavParams } from 'ionic-angular';
import { AngularFireAuth } from 'angularfire2/auth';
import { ChatPage } from '../chat/chat';
import { Storage } from '@ionic/storage';
@IonicPage()
@Component({
selector: 'page-login',
templateUrl: 'login.html',
})
export class LoginPage {
username: string= '';
password: string= '';
constructor(private fire: AngularFireAuth, public navCtrl: NavController, private alertCtrl: AlertController, public navParams: NavParams, private storage: Storage)
{
this.storage.get('username').then((val) => {
if (val != null) {
this.username= val;
}
});
}
ionViewDidLoad() {
console.log('ionViewDidLoad LoginPage');
}
alert(message: string) {
this.alertCtrl.create({
title: 'Info!',
subTitle: message,
buttons: ['OK']
}).present();
}
signInUser() {
this.storage.set('username', this.username);
this.fire.auth.signInWithEmailAndPassword(this.username, this.password).then(data=> {
console.log('got data', this.fire.auth.currentUser);
this.alert('Success! You're logged in');
this.navCtrl.push(ChatPage);
}).catch(error => {
console.log('got an error', error);
this.alert(error.message);
})
console.log('Would sign in with ', this.username, this.password)
}
}
asked Dec 4, 2017 at 7:56
TioTio
731 gold badge2 silver badges13 bronze badges
Remove the first two lines in signInUser function.
signInUser() {
this.fire.auth.signInWithEmailAndPassword(this.username, this.password).then(data=> {
console.log('got data', this.fire.auth.currentUser);
this.alert('Success! You're logged in');
this.navCtrl.push(ChatPage);
}).catch(error => {
console.log('got an error', error);
this.alert(error.message);
})
console.log('Would sign in with ', this.username, this.password)
}
To use the username in other pages store it in the localstorage using ionic storage
answered Dec 4, 2017 at 8:08
99tharun99tharun
1,2163 gold badges20 silver badges36 bronze badges
1
#class #undefined
#класс #не определено
Вопрос:
Когда я ввожу его как в код Visual Studio, так и в Jupiter, этот код не выполняется, и я получаю сообщение об ошибке «Ошибка имени: имя «Пользователь» не определено». Тем не менее, когда я копирую и вставляю ТОЧНО такой же код с веб-сайта автора, он работает отлично. Я прочитал все, что смог найти в Интернете и в документации по Python 3.9, и не могу понять, почему. Вот код:
класс User():
"""Represent a simple user profile."""
def __init__(self, first_name, last_name, username, email, location):
"""Initialize the user."""
self.first_name = first_name.title()
self.last_name = last_name.title()
self.username = username
self.email = email
self.location = location.title()
def describe_user(self):
"""Display a summary of the user's information."""
print(f"n{self.first_name} {self.last_name}")
print(f" Username: {self.username}")
print(f" Email: {self.email}")
print(f" Location: {self.location}")
def greet_user(self):
"""Display a personalized greeting to the user."""
print(f"nWelcome back, {self.username}!")
john = User('john', 'bassett', 'Jack', 'jack@me.com', 'L.A.')
john.describe_user()
john.greet_user
Ответ №1:
Если бы мне пришлось догадаться, это была бы проблема с форматированием. Пробелы (табуляции и пробелы) имеют смысл в Python. Ваше форматирование отключено в сообщении StackOverflow здесь, поскольку строка «class User» находится за пределами предварительно отформатированного блока кода, а все методы класса имеют отступы на неправильном уровне. Вы хотите что-то вроде:
class User():
def __init__(self):
return
def another_method(self):
return
john = User('john')
Комментарии:
1. Вы были правы! Я начал снизу вверх, а не сверху вниз, и это помогло мне найти неправильные пробелы / отступы. Спасибо, что нашли время для ответа. Я даже не хочу признавать, как долго я пытался найти, что с ним не так. 🙂
У меня есть приложение, сделанное с Delphi 2006 и Firebird 2.5. Для подключения используйте компоненты Interbase из Delphi. Я устанавливаю во время разработки базу данных TIB с именем пользователя, паролем tc и работаю нормально, но когда я хочу запустить приложение на другом ПК (сначала я устанавливаю Firebird 2.5 на него), я получил эту ошибку:
Statement failed, SQLSTATE = 28000
Ваше имя пользователя и пароль не определены. Попросите администратора базы данных настроить учетную запись Firebird.
Что это? Как я могу это решить?
Ответ 1
В сообщении четко указано, что имя пользователя и пароль, которые вы используете для подключения во время разработки на вашей машине разработки, недействительны для сервера базы данных, который вы пытаетесь подключить на другом компьютере (позвольте назвать его производством). Из вашего сообщения кажется, что это не тот самый сервер, с которым вы подключаетесь во время разработки.
Я предлагаю вам протестировать эту проблему с легкостью, чтобы свойство LoginPrompt было равно true в компоненте TIBDatabase, чтобы позволить ему запрашивать у пользователя учетные данные propper перед подключением. Вы сможете подключиться, используя любую действительную комбинацию имени пользователя и пароля для этого сервера. Чтобы убедиться, что комбинация действительна, попробуйте подключиться с помощью инструмента командной строки isql, например команду
c:test>isql test.fdb -u sysdba -p masterkey
подключится к c:testtest.fdb, используя имя пользователя и пароль по умолчанию. (корневой каталог firebird должен находиться в переменной среды пути, чтобы это работало)
Кроме того, вы можете использовать инструмент командной строки gsec для настройки пароля для этого движка, или вы можете обеспечить создание пользователей и изменение паролей на этом производственном компьютере, прежде чем пытаться подключиться к нему.
В Windows пароль sysdba по умолчанию для firebird — masterkey.
Ответ 2
В ‘isql-fb’ из терминала linux и после ‘CONNECT’ в базе данных:
— Я решил после удаления (drop) и воссоздал пользователя SYSDBA.
Наблюдение: у меня были проблемы с разрешением файла и папки на ‘/tmp/firebird’, и мне нужно было использовать ‘sudo’ или root для открытия ‘isql-fb’
Спасибо.
Ответ 3
Эта ошибка связана с тем, что учетные данные для Firebird db просто не сохраняются в файле базы данных. Он хранится в файле конфигурации на сервере Firebird. Если вы скопируете файл DB, а не пароль, у вас будет другой пароль.
На машинах Ubuntu вы можете узнать пароль и имя пользователя в файле, /etc/firebird/<version>/SYSDBA.password
Он будет выглядеть примерно так:
ISC_USER=sysdba
ISC_PASSWORD="password"
Используйте эти учетные данные для подключения к файлу базы данных.
Содержание
1
Почему Tlauncher сообщает, что не удалось проверить имя пользователя?
Эти ошибки могут возникать у пользователей нашего лаунчера при попытке подключения к различным серверам. В общих чертах проблема в том, что данные сервера лицензионные и проверяйте игрока — авторизован он или она под лицензией Minecraft или нет!
Как мне подтвердить свой аккаунт Minecraft ?
Подтвердите свой адрес электронной почты
- Войдите в свою учетную запись и нажмите на свой адрес электронной почты в правом верхнем углу страницы.
- Нажмите ПОДТВЕРДИТЕ ЭТУ АККАУНТ.
- На странице подтверждения нажмите Запросить новый код.
- Проверьте свою электронную почту, чтобы получить уведомление, и следуйте инструкциям, чтобы подтвердить свою учетную запись электронной почты.
Как решить проблему с Aternos, которая не смогла подтвердить имя пользователя?
Убедитесь, что ваш сервер настроен на онлайн-режим «Премиум» и вы подключаетесь к нему, используя действующую премиальную учетную запись Minecraft . Если вы используете взломанный Minecraft, вам необходимо перевести сервер в онлайн-режим «Cracked», но я не рекомендую этого делать.
Как исправить, что имя пользователя Minecraft содержит недопустимые символы?
1) Выключите Minecraft и закройте программу запуска Minecraft . 2) Выйдите из своего аккаунта. Вам будет предложено ввести адрес электронной почты и пароль еще раз — вы должны это сделать.
Можно ли присоединиться к 2B2T через TLauncher?
нет. 2B2T — это сервер на основе Java Edition, поэтому вам нужна Java, чтобы играть на нем .
Подходит ли Aternos для взломанного Minecraft?
Aternos позволяет включить взломанный режим на серверах , потому что, как указал Outfires, это функция официального программного обеспечения сервера Minecraft.
Как исправить ошибку при проверке имени пользователя?
Как для решения Не удалось проверить имя пользователя Ошибка Minecraft
- Исправить 1. Выйти и снова войти.
- Исправить 2. Проверить сервер.
- Исправить 3. Активировать CrackedВерсия.
- Исправить 3. Отредактируйте файл hosts.
- Исправить 4. Обновите Minecraft и Java до последних версий.
- Исправить 5. Измените режим сервера на автономный.
Что означает ошибка проверки имени пользователя?
Не удалось проверить имя пользователя означает, что серверы аутентификации Minecraft/Mojang не работают , это означает, что когда вы пытаетесь подключиться к серверу, он не позволяет вам. Обратите внимание, что это не проблема с нашей стороны, вам просто нужно подождать, пока их серверы снова не будут подключены к сети.
Что такое взломанный Minecraft?
Крекированный Minecraft — это просто неофициальная копия . Получение такой копии Minecraft, как правило, незаконно, но, к сожалению, очень популярно: по некоторым оценкам, многие миллионы игроков Minecraft не купили игру.
Что значит, если имя пользователя содержит недопустимые символы?
Это общая ошибка, вызванная тем, что ИМЯ ПОЛЬЗОВАТЕЛЯ, назначенное в файле импорта, не соответствует требованиям к форматированию .
Что означает NameCase для Minecraft?
NameCase 2.0 Плагин выбрасывает игроков, пытающихся войти в систему с неверно введенным именем (прописные и строчные буквы не совпадают). Все функции: Запретить игроков с именами менее 3 символов. Запретить игрокам имена длиной более 16 символов.
Могу ли я присоединиться к Hypixel в TLauncher?
Через TLauncher вы можете войти в систему управления учетной записью по лицензии, а затем присоединиться к любому серверу, такому как Hypixel. или Mineplex .
Что такое IP-адрес herobrine?
IP-адрес сервера: mc.herobrine.org .
YouTube video: Невозможно подтвердить имя пользователя Minecraft
Что такое fly в Aternos?
Летать. Позволяет игрокам на вашем сервере летать даже , если они находятся в режиме выживания, если у них установлен мод, обеспечивающий эту возможность.
Работает ли Minehut с TLauncher?
настоящая игра должна быть куплена. То, что вы ищете, этовзломанный сервер, если вы не купили игру. В противном случае, чтобы играть на minehut, вам нужно купить игру. Minehut не поддерживает взломанные серверы .
Как изменить свое имя пользователя в Minecraft?
Mojang позволяет пользователям бесплатно изменить свое имя пользователя Minecraft под своей учетной записью Mojang (вы войдите под своим е-мейлом). После входа найдите «Имя профиля» в службе Minecraft и нажмите «(Изменить)» рядом с ним. На следующей странице введите новое имя профиля и проверьте его доступность.
Как мне узнать свое имя пользователя Minecraft?
Если вы не знаете, какое у вас имя пользователя, откройте Minecraft Launcher и войдите в систему, используя адрес электронной почты , который вы использовали при настройке учетной записи Mojang. После входа в систему вы сможете увидеть свое имя пользователя Minecraft в правом верхнем углу экрана.
Является ли пиратская версия Minecraft незаконной?
Это позволяет людям, которые не могут приобрести учетную запись, играть в нее из самых продаваемых игр всех времен. И это приносит пользу Mojang, позволяя Minecraft охватить больше людей. Однако технически пиратство игры является незаконным .
Что такое TLauncher Minecraft?
TLauncher — это бесплатная программа запуска Minecraft, которую вы можете загрузить на свой компьютер с Windows. . С его помощью вы сможете играть в несколько разных версий популярной видеоигры. Вы даже можете настроить параметры для лучшего игрового процесса. В лаунчере также представлены новые моды, скины персонажей и дополнительный контент.
Как изменить свое имя на недопустимые символы в Call of Duty?
#2 Используйте карту переименования
- Шаг 1: Нажмите на значок снаряжения на главном экране COD Mobile.
- Шаг 2: Выберите опцию инвентаря и нажмите кнопку «Использовать» после выбора карты «Переименовать».
- Шаг 3: Введите новое имя со специальными символами исимволов.
- Шаг 4. Нажмите «Отправить».
Сотрудники, имеющие персональные учетные записи, могут столкнуться с ошибкой при входе в 1С: «Идентификация пользователя не выполнена». Варианты ее устранения зависят от причин возникновения. Рассмотрим их в статье.
Содержание
- Пользователь ИБ не идентифицирован 1С 8.3 — как исправить
- Неверное имя пользователя
- Неверный пароль
- Длительный перерыв
- Файл базы данных поврежден
- Процесс идентификации
- Аутентификация пользователей в 1С
Проблемы с ошибкой «Идентификация пользователя не выполнена» при входе в программу 1С у пользователей возникают, если:
- некорректно указан логин;
- пароль не прошел проверку;
- вход в программу давно не осуществлялся;
- база данных повреждена.
Неверное имя пользователя
В окне настройки учетной записи параметр Имя (для входа) — это логин, который пользователь выбирает в выпадающем списке при входе в систему. Оно может не совпадать с Полным именем и иметь произвольное обозначение. Полное имя выступает в качестве наименования учетной записи, которое программа подставит в поле Ответственный при создании документов, в поле Пользователь в журнале регистрации и т. д.
Ответ 1
В сообщении четко указано, что имя пользователя и пароль, которые вы используете для подключения во время разработки на вашей машине разработки, недействительны для сервера базы данных, который вы пытаетесь подключить на другом компьютере (позвольте назвать его производством). Из вашего сообщения кажется, что это не тот самый сервер, с которым вы подключаетесь во время разработки.
Я предлагаю вам протестировать эту проблему с легкостью, чтобы свойство LoginPrompt было равно true в компоненте TIBDatabase, чтобы позволить ему запрашивать у пользователя учетные данные propper перед подключением. Вы сможете подключиться, используя любую действительную комбинацию имени пользователя и пароля для этого сервера. Чтобы убедиться, что комбинация действительна, попробуйте подключиться с помощью инструмента командной строки isql, например команду
c:test>isql test.fdb -u sysdba -p masterkey
подключится к c:testtest.fdb, используя имя пользователя и пароль по умолчанию. (корневой каталог firebird должен находиться в переменной среды пути, чтобы это работало)
Кроме того, вы можете использовать инструмент командной строки gsec для настройки пароля для этого движка, или вы можете обеспечить создание пользователей и изменение паролей на этом производственном компьютере, прежде чем пытаться подключиться к нему.
В Windows пароль sysdba по умолчанию для firebird — masterkey.
Ответ 2
В ‘isql-fb’ из терминала linux и после ‘CONNECT’ в базе данных:
— Я решил после удаления (drop) и воссоздал пользователя SYSDBA.
Наблюдение: у меня были проблемы с разрешением файла и папки на ‘/tmp/firebird’, и мне нужно было использовать ‘sudo’ или root для открытия ‘isql-fb’
Спасибо.
Ответ 3
Эта ошибка связана с тем, что учетные данные для Firebird db просто не сохраняются в файле базы данных. Он хранится в файле конфигурации на сервере Firebird. Если вы скопируете файл DB, а не пароль, у вас будет другой пароль.
На машинах Ubuntu вы можете узнать пароль и имя пользователя в файле, /etc/firebird/<version>/SYSDBA.password
Он будет выглядеть примерно так:
ISC_USER=sysdba
ISC_PASSWORD="password"
Используйте эти учетные данные для подключения к файлу базы данных.