posilani dat dod nette z jine aplikace

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

ahoj , mam napsaný prográmek v jave, a potřeboval bych uploadovat do nette data z něj .. jde konkretně o xml posilané do formuláře, doteď to fungovalo tak, že človšk vytvořil v Jave XML uložil ho a potom musel lézt na web .. tam ho vyplnit do formuláře a odeslat .. chtěl bych to udělat automatické a v Jave jen kliknout na synchronizaci … mělo by se to odeslat do toho formuláře.. v čistémPHP mi to fungovalo dobře .. jen nevím kam mám posilat POSTa jak, aby ho nette prijalo

Díky

malkol
Člen | 133
+
0
-

poprípadě klidně vynutit přihlášení a přihlašovací data posílat také v POSTu formuláři, aby to balo bezpečnější ..

prosím .. poraďte nějaké řešení díky ;)

Tomáš Votruba
Moderator | 1114
+
0
-

Ahoj, pošli si data na nějaký presenter, např. web.cz/homepage/xml a zpracuj si POST data pomocí httpRequest.

Nějak takto:

class HomepagePresenter extends Nette\Application\UI\Presenter
{
	/** @inject @var Nette\Http\IRequest */
	public $httpRequest;


	public function actionXml()
	{
		$post = $this->httpRequest->getPost();
		dump($post); // process post data

		$this->terminate(); // end before rendering
	}

}

Editoval Tomáš Votruba (21. 4. 2014 16:11)

malkol
Člen | 133
+
0
-

končí mi to chybou 500 .. nějaký nápad čím by to mohlo být ?

Tomáš Votruba
Moderator | 1114
+
0
-
  1. Koukni do adresáře logs, tam najdeš laděnku s chybovou hláškou.
  2. Ověř, zda to funguje klasicky přes url (tj. když zadáš web.cz/homepage/xml, zda ti web naběhne).

Napadá mne, že k tomu nemáš šablonu, tzn. je potřeba končit akci pomocí $this->terminate() (doplněno do původní odpovědi).

Editoval Tomáš Votruba (21. 4. 2014 16:06)

malkol
Člen | 133
+
0
-

Call to a member function getPost() on a non-object

kdyz to otevru v prohlizeci .. tak v tom postu nic nebude ne ?

malkol
Člen | 133
+
0
-

BTW .. kde se se bere ten httpRequest … ten nemusim nijak inicializovat ?

Tomáš Votruba
Moderator | 1114
+
0
-

Omlouvám se. Chyběla mi tam anotace @var, doplněno.

$httpRequest se inicializuje automaticky, právě díky anotaci @inject (doporučeno používat pouze v presenterech). Je o tom tento pěkný článek.

Editoval Tomáš Votruba (21. 4. 2014 16:27)

malkol
Člen | 133
+
0
-

uz to funguje ;) supr … dík .. a co se týče bezpečnosti … ověřoval bys jen oxistenci v databazi .. uzivatele .. ktere by prisel jen tim postem … a nebo by jsi nejak pouzival authenticatoru

Editoval malkol (21. 4. 2014 16:31)