Autor | Zpráva | ||
---|---|---|---|
BuGeR Profil |
#1 · Zasláno: 9. 8. 2010, 15:23:01
Zdravím. Na internetu jsem našel tento kód (upravil jsem některé hodnoty):
curl_setopt($ch, CURLOPT_URL, 'http://live-fun.cz/tests/form.php'); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, "jmeno=test&heslo=test"); curl_setopt($ch, CURLOPT_COOKIEJAR, '/www/tests/cookie.txt'); curl_setopt($ch, CURLOPT_COOKIEFILE, '/www/tests/cookie.txt'); $first = curl_exec($ch); $second = curl_exec($ch); Bohužel, když ho spustím, objeví se jen bíla obrazovka a formulář se neodešle - pokud by se odeslal přišel by mi na email. Poradíte mi prosím někdo, kde mám chybu? Děkuji, B. |
||
PostCC Profil |
#2 · Zasláno: 9. 8. 2010, 15:36:15
Jestli můžu hádat, tak při pohledu na obsah toho odkazu zjišťuji, že formulář odesílá po provedení (stisku tlačítka Submit) data nikoli na stránku "http://live-fun.cz/tests/form.php", nýbrž na "http://live-fun.cz/tests/form.php?go". Není tedy chyba v chybějícím parametru URL?
|
||
BuGeR Profil |
#3 · Zasláno: 9. 8. 2010, 15:40:32
Opravil jsem to, nyní se to zpracuje na stejné adrese. Ale pořád to nefunguje..
|
||
PostCC Profil |
#4 · Zasláno: 9. 8. 2010, 15:47:29
Dobře, jen pro pořádek - samozřejmě to není celý script, že? V úvodu chybí inicializace session, tzn. něco jako:
$ch = curl_init(); Věřím, že v testovacím scriptu tohle máte? |
||
BuGeR Profil |
#5 · Zasláno: 9. 8. 2010, 15:50:23
Nemám, s Curl právě začínam a snažím se ho naučit.. je třeba ještě něco nad/pod ten kód doplnit?
|
||
PostCC Profil |
#6 · Zasláno: 9. 8. 2010, 15:54:05
Bude to jako první řádek, kde se proměnná $ch coby curl session inicializuje. Celé to tedy bude:
$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'http://live-fun.cz/tests/form.php'); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, "jmeno=test&heslo=test"); curl_setopt($ch, CURLOPT_COOKIEJAR, '/www/tests/cookie.txt'); curl_setopt($ch, CURLOPT_COOKIEFILE, '/www/tests/cookie.txt'); $result = curl_exec($ch); Echo $result; Po provedení se do proměnné $result uloží obsah načtené stránky (tedy například výstupní informace o průběhu odesílání mailu, prostě to, co vidíte přímo ve stránce na adrese http://live-fun.cz/tests/form.php pokud byste odeslal údaje pomocí formuláře. A současně by měl dorazit mail. Nicméně pokud máte ve správě server, jehož pomocí se snažíte odesílat, je poměrně hodně krkolomné a zbytečné to řešit přes curl, lépe volat akci přímo v těle scriptu. |
||
BuGeR Profil |
#7 · Zasláno: 9. 8. 2010, 16:05:32
Děkuji moc :) už to funguje
|
||
Časová prodleva: 14 let
|
0