

Problém s php formulářem
Ahoj, potřeboval bych poradit s php a formulářem... Mám zadání:
Udělat web. aplikaci, kde uživatel zadá požadované údaje a na základě těchto údajů mu to na webu rwe vyhledá plánované odstávky (oficiální formulář rwe je zde: odstavky)
Problém je, že mi jejich aplikace nebere moje data (odesílaná postem pomocí curl....)
Schválně jsem si udělal v php jednoduchý script, který mi ukáže, která data formulář posílá:
foreach ($_POST as $k => $v) {
if (is_array($v)) {
foreach ($v as $value) {
echo "prom.: " . $k . " hodnota= " . $value . "<br><br>";
}
} else {
echo "prom.: " . $k . " hodnota= " . $v . "<br><br>";
}
// proměnná $k obsahuje název proměnné (jméno z formuláře)
// proměnná $v obsahuje hodnotu proměnné
}
Když jsem pa k tyto data zatím napevno vložil do svého scriptu (zatím místo formuláře), tak mi rwe pořád vypisuje, že jsem něco blbě vyplnil...
Pozn.: rwe používá u formuláře skryté pole "token", kde je při každém načtení form. jiný 32 místný kod...Tak jsem to u sebe udělal tak, že před odesláním dat si pomocí file_get_html načtu rwe form a vemu si přidělený token...
Pozn. 2: form rwe má hodně skrytých polí...
Přikládám kod, kde je ukázka vkládání a odeslání dat pomocí curl (zatím napevno vložené hodnoty):
//ZISK TOKENU
$kod = file_get_html("www.rwe-distribuce.cz/cs/odstavky/");
$input = $kod->find('input');//pomocí php html parseru ([url=www.maxiorel.cz/php-simple-html-dom-parser-jak-jednoduse-zpracovat-html-v-php]www.maxiorel.cz[/url]) si vemu inputy a najdu token:
foreach ($input as $value) {
if (strpos($value, "token") > 0) {
$token = substr($value, strpos($value, "value=\"") + strlen("value=\""));
$token = substr($token, 0, strlen($token) - 3);
break;
}
}
//CURL!!!!!!!!!
$ch = curl_init("www.rwe-distribuce.cz/cs/odstavky/"); //CILOVA URL
curl_setopt($ch, CURLOPT_HEADER, 0); //POKUD CHCI VRATIT INFO HLAVICKU
curl_setopt($ch, CURLOPT_POST, 1); //NASTAVIM ZE CHCI ODESLAT DATA
$var = "postback=0&init=n&token=" . $token . "&noinit=1&zadatelKrajId&zadatelObecId&typVstupu=1";
chk_mes = array();
for ($i = 1; $i < 13; $i++) {
if ($i == 5) {//zatím na pevno jako že vybírám 5. měsíc
$chk_mes[$i] = 1;
} else {
$chk_mes[$i] = NULL;
}
}
$var .= "&chk_mes=" . $chk_mes;
$var .= "&zadatelKraj=Pardubický kraj&zadatelObec&datumOd&datumDo&btnPokracovat=Potvrdit";
curl_setopt($ch, CURLOPT_POSTFIELDS, $var);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //POKUD CHCI PRACOVAT S VYSLEDNOU STRANKU - NASTAVIM NA 1
$kod = curl_exec($ch);
curl_close($ch);
echo $kod;//vypis výsledku!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Moc prosím o pomoc, co dělám blbě...Patlám se s tím už od pátku a nic...Díky
vyřešeno - u formuláře, který vyplňuje uživatel dám do skrytého iframe tu původní stránku a tak získám cookies...