Autor Zpráva
Janvesely12
Profil
Ahoj, zase píše o mém problému. :)
Mám cizí stránku, která má nějaký formulář a přenáší proměnné přes POST. Já si vezmu její obsah pomocí:
$filename = "www.stranka.cz";
$file = file_get_contents($filename);

A na té stránce je formulář, který má pole name, já potřebuji toto pole vyplnit odeslat a načíst stránku.

Jak to mohu udělat, bez toho, abych musel na něco klikat osobně? Děkuji
Alphard
Profil
cURL nebo http://php.vrana.cz/alternativa-ke-knihovne-curl.php.
Janvesely12
Profil
Tak dík, tohle jsem v životě neviděl. A vypadá to, že toho je dost co musím prostudovat, abych toto pochopil. :D

EDIT:
Tak jo, mám od php.vrana.cz tento kód:
$curl = curl_init("http://php.vrana.cz/");
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$page = curl_exec($curl);
curl_close($curl);

A ten post tam mám dát jak?
Janvesely12
Profil
Tak jo, mám toto:
$ch = curl_init('www.neco.cz');
 curl_setopt ($ch, CURLOPT_POST, 1);
 curl_setopt ($ch, CURLOPT_POSTFIELDS, "name=Pekelná Legie");
 $page = curl_exec ($ch);
 curl_close ($ch); 

Ale teď co dál. Mě se stránka zobrazí rovnou, ale já ji potřebuji dostat do proměnné, jak je možné, že se hned zbrazuje?
Alphard
Profil
curl_setopt() CURLOPT_RETURNTRANSFER
Proč jste ho vlastně smazal? V [#3] byl.
Janvesely12
Profil
Díky, já to nesmazal, já netušil jak to udělat a proto jsem začal hledat na anglických webech a složil to co jsem napsal ve #4.


Když použiju:
$ch = curl_init('www.stranka.cz');
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
 curl_setopt ($ch, CURLOPT_POST, 1);
 curl_setopt ($ch, CURLOPT_POSTFIELDS, "name=Pekelná Legie");
 $page = curl_exec ($ch);
 curl_close ($ch); 

A potom:
$page = file_get_contents("www.stranka.cz");
echo $page;

Tak to stránku vypíše, ale nezafunguje POST.
Alphard
Profil
Nenapadlo vás, že ten file_get_contents() vám přepíše $page a jste tam, kde jste byl ([#1])?
Janvesely12
Profil
No, tak teď se cítím trapně. :D Díky, málo kdo je tak ochotný jako Vy, ztrácet tady se mnou čas až někdy do 2 hodin. :)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: