Autor Zpráva
MilanJ
Profil
Mám formulář se několika políčky, a 4 z nich jsou pole INPUT, které slouží k odesílání souborů.
Uživatel vyplní políčka formuláře, zadá cesty k souborům a formulář odešle.
Bohužel ale nevyplnil všechna pole a formulář se neodešle a vypíše hlášku, že je potřeba vyplnit všechna pole.
V každém políčku formuláře mám hodnotu VALUE, která obsahuje např.: <? echo $popis; ?>, aby se vyplněné hodnoty po vyhodnocení formuláře nevymazaly a uživatel je nemusel vyplňovat znovu.

Potud vše OK, až na to, že políčka INPUT, která slouží k odeslání souboru, si svou hodnotu neuchovají, a to i přesto, že jsou zadána tímhle způsobem:
<input name="smlouva" type="file" id="smlouva" value="<? echo $smlouva; ?>">

Proč všechna ostatní políčka hodnotu mají a jen tahle ne? Kde je chyba? Dělám snad něco špatně?
Zkoušel jsem value="<? echo $smlouva; ?>">nahradit value="<? echo $_POST["smlouva"]; ?>">, ale to nepomohlo.

Poradíte mi někdo jak to vyřešit?
Hugo
Profil
MilanJ

Inputy typu file se z různých důvodů (hlavně bezpečnostních) chovají jinak než např. textové inputy. Řešením je např. rozdělit formulář na dvě části, v první nechat všechny údaje a po ověření správnosti zobrazit políčka pro vkládání souborů.
Anonymní
Profil *
ked formular pouziva method post a ty v skripte ktory formular spracovava zavolas
$premenna = $_POST['nazov_inputu_typu_file'];
tak tu cestu k suboru v premennej musis mat. Ked sa potom po chybe vracias na stranku
s formularom musis jej hodnotu ulozenu v $premenna nejako odovzdat (v url, v session, v cookie)
a az potom zavolat vo value <?= $_GET['premenna']?> resp <?= $_COOKIE['premenna'] ?> resp. <?= $_SESSION['premenna']?>
DoubleThink
Profil *
Jde o bezpečnostní opatření - Input File nelze žádným způsobem předvyplnit (kdyby to šlo, tak by si mohly stránky skrytě uploadovat vaše soubory).
Toto téma je uzamčeno. Odpověď nelze zaslat.