Změna funkčnosti formuláře

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
PavelS
Člen | 66
+
0
-

Ahoj, můj registrační formulář mi začal po přesunutí do basePresenteru dělat toto:

ERROR

INSERT INTO `users` (`firstName`, `surname`, `email`, `username`, `confirmedEmail`, `password`)
VALUES ('Richard', 'Holý', ?, 'driger.miska', 'zroj0hiwc2', ?)

Nevíte, čím to může být? Díky

David Matějka
Moderator | 6445
+
0
-

To opravdu hlasi takovouhle chybu? to sem mi moc nezda. Ladenku nevidis?

PavelS
Člen | 66
+
0
-

David Matějka napsal(a):

To opravdu hlasi takovouhle chybu? to sem mi moc nezda. Ladenku nevidis?

Tohle je právě z laděnky, pardon, blbě jsem se vyjádřil.

David Matějka
Moderator | 6445
+
0
-

nechce se mi verit, ze tam pise jen „ERROR“. Ukaz celou ladenku (HTML), pripadne aspon screen

David Matějka
Moderator | 6445
+
0
-

To by mela vyskocit i cela cervena ladenka. nechytas tam nekde globalne (vsechny) exceptions?

PavelS
Člen | 66
+
0
-

David Matějka napsal(a):

To by mela vyskocit i cela cervena ladenka. nechytas tam nekde globalne (vsechny) exceptions?

V submitu odchytávám db chyby.

catch(\PDOException $e) {
                if(Strings::contains($e, 'username')) {$form['username']->addError('Username is already taken');}
                if(Strings::contains($e, 'email')) {$form['email']->addError('Email is already used');}
                if ($e instanceof \Nette\Application\AbortException) {
                    throw $e;
                }
            }
Šaman
Člen | 2666
+
0
-

Tohle není laděnka, to je už výpis opravdu proběhlého dotazu do databáze. Ukaž ten dotaz v presenteru, něco děláš špatně – ty otazníky v dotazu nemají být, Nette\Database by je měla nahradit daty.

Editoval Šaman (3. 3. 2016 14:09)

David Matějka
Moderator | 6445
+
+1
-
  1. PDOException nemuze byt instance AbortException
  2. pokud to neodpovida ani jedne te vetvi (username/email) tak tu vyjimku posli dal
  3. od nette 2.3 muzes chytat konkretnejsi vyjimky – https://api.nette.org/…ception.html
PavelS
Člen | 66
+
0
-

David Matějka napsal(a):

  1. PDOException nemuze byt instance AbortException
  2. pokud to neodpovida ani jedne te vetvi (username/email) tak tu vyjimku posli dal
  3. od nette 2.3 muzes chytat konkretnejsi vyjimky – https://api.nette.org/…ception.html

Díky moc, po odmazání AbortException už mi laděnka řekla, že proměnná, kterou jsem tam dodával do té tabulky, není NULL, vše již funguje.