spracovanie formularu metodou na produkcnom serveri
- Matej123
- Člen | 150
Dobry den,
v aplikacii klasicky odosielam formular (ak data su validne) pre spracovanie metode:
<?php
$form->onSuccess[] = [$this, 'addCourseSucceeded'];
?>
Tento sposob funguje v pohode ak pracujem na lokalnom serveri. Akonahle to hodim na produkcny web, tak mi vyhodi chybu ze: Parse error, syntax error unexpected ‚[‘ . Neviete v com je asi problem? :)
- Matej123
- Člen | 150
asi jo, uz som to zmenil na array($this, ‚addCourse…‘) a uz to ide :) .
No mam hned dalsi problem :
Mam taku metodu na prihlasovanie:
<?php
public function createLoginForm($instructions = null, Form $form = NULL) {
$form = $this->createBasicForm($form);
$form->addSubmit('submit', 'Prihlásiť')
->setAttribute('class', 'btn btn-primary');
$form->onSuccess[] = function (Form $form) use (
$instructions) {
$this->login($form, $instructions);
};
return $form;
}
?>
Formular mi pekne vypise no opat je problem s tym onSuccess. Tentoraz mi
vypise :
Fatal error. Using $this when not in object context a zvyrazni mi tento
riadok :
<?php
$this->login($form, $instructions);
?>
Tiez bude problem s tou verziou php? :)
David Matějka napsal(a):
protoze mas na produkcnim serveru php 5.3
- David Matějka
- Moderator | 6445
ano, taky je to verzi. pro 5.3 to musi zapsat nasledovne:
$that = $this;
$form->onSuccess[] = function (Form $form) use ($instructions, $that) {
$that->login($form, $instructions);
};
ale radeji aktualizuj php na serveru, 5.3 je jiz davno mrtve a nepodporovane. ani 5.4, viz http://php.net/…versions.php
- Matej123
- Člen | 150
vies ja pouzivam webglobe, kedze som este student tak vyuzivam (zadarmo) sluzby ich serverov, tak velke upravy si tam dovolit nemozem, ale diky za info, som teraz aspon v obraze preco mi niektore veci neidu :) .
David Matějka napsal(a):
ano, taky je to verzi. pro 5.3 to musi zapsat nasledovne:
$that = $this; $form->onSuccess[] = function (Form $form) use ($instructions, $that) { $that->login($form, $instructions); };
ale radeji aktualizuj php na serveru, 5.3 je jiz davno mrtve a nepodporovane. ani 5.4, viz http://php.net/…versions.php
- Matej123
- Člen | 150
uz som to poriesil vsetko, na konci vsak dalsia chyba:
Authenticator has not been set.
nevies co s tym?
David Matějka napsal(a):
ano, taky je to verzi. pro 5.3 to musi zapsat nasledovne:
$that = $this; $form->onSuccess[] = function (Form $form) use ($instructions, $that) { $that->login($form, $instructions); };
ale radeji aktualizuj php na serveru, 5.3 je jiz davno mrtve a nepodporovane. ani 5.4, viz http://php.net/…versions.php
- Matej123
- Člen | 150
uz som to nastavil :) . No vyhodilo mi chybu:
Invalid combination of tabs and spaces on line 28, column 9.
Preco mi to vyhodilo, ked som si isty ze som daval iba tabs, ziadne medzery(teda ziadne kombinacie)?
Matej123 napsal(a):
nie nemam, take veci som nebol nuteny riesit na localhoste, nastavuje sa to v congig.neon? A pre ten authenticator aku cestu mam zadat?
CZechBoY napsal(a):
A máš autentikator nastaveny v konfiguraku?
Třebaservices: authenticator: App\cesta\Authenticator
- Matej123
- Člen | 150
aj ked nastavim ten authenticator stale mi vypisuje ze nie je nastaveny:
mam ho nastaveny v config.neon takto:
services:
authenticator: App\Model\UserManager
router: App\RouterFactory::createRouter
- App\Model\CourseManager
- App\Model\PartnerManager
- App\Forms\UserForms
Matej123 napsal(a):
uz som to nastavil :) . No vyhodilo mi chybu:
Invalid combination of tabs and spaces on line 28, column 9.
Preco mi to vyhodilo, ked som si isty ze som daval iba tabs, ziadne medzery(teda ziadne kombinacie)?
Matej123 napsal(a):
nie nemam, take veci som nebol nuteny riesit na localhoste, nastavuje sa to v congig.neon? A pre ten authenticator aku cestu mam zadat?
CZechBoY napsal(a):
A máš autentikator nastaveny v konfiguraku?
Třebaservices: authenticator: App\cesta\Authenticator