Moznost pridat pole email do registrace
- Andurit
- Člen | 131
Zdravím,
rad by som pridal pole email do svojej registracie. V zasade som vytvoril
v tabulke v DB novy column a do presentru dal dalsie policko email, nasledne
moj script vyzera nejako takto:
public function RegisterFormSucceeded($form)
{
$values = $form->getValues();
$this->user->getAuthenticator()->add($values->name, $values->password, $values->email);
$this->flashMessage('Uživatel registrován.');
$this->redirect('Homepage:default');
}
Vyplnalo sa mi napriek tomu len login a password pricom column email ostaval prazdny, troska som hladal a v modeli som nasiel a nasledne upravil:
public function add($username, $password, $email)
{
$this->database->table(self::TABLE_NAME)->insert(array(
self::COLUMN_NAME => $username,
self::COLUMN_NAME => $email,
self::COLUMN_PASSWORD_HASH => Passwords::hash($password),
));
}
Ak to mám takto tak do column username sa mi prepise email, tj v DB mam username = neco@neco.cz, password = hash, email = prazdne (pravdepodobne preto ze to mam pod sebou 2× COLUMN_NAME. Skúsal som to ale editovat na COLLUMN_EMAIL co mi hlasi undefined constat atd, napriek tomu ze to znie ako banalita, neviem sa z toho vysomarit. Vedel by mi niekto pomoct?
- Azathoth
- Člen | 495
No jistě.
self::neco znamená konstanta třídy, kterou používáš. Takže když chceš
použít v authenticatoru self::COLUMN_EMAIL, tak si musíš někde nazačátku
authenticator třídy, kde jsou definované konstanty, přidat novou konstantu
COLUMN_EMAIL = „nazevSloupceVDatabazi“.
Doporučuji si nastudovat něco o objektových konstantách, například: http://interval.cz/…e-konstanty/ nebo http://php.net/…onstants.php
Editoval Azathoth (21. 9. 2014 15:33)