Autor Zpráva
pakomax
Profil *
Zdravím , prosím najde se někdo, kdo by mi naznačil, jak postupovat v takovéto situaci?

Ve formuláři mám jméno, email text atd.. a vstupní prvek pro file (foto). Ten je narozdíl od ostatních nepovinný, kontrolu vložených údajů provádím přes php skript, který se při nevyplněných položkách zobrazuje znovu s položkami již vyplněnými. jak ale docílit toho, aby se při prvním pokusu o vyplnění formuláře a následné chybě (chybí některé povinné údaje) zachovala proměnná file ve formuláři, jestliže byla vyplněna??
Díky za jakoukoliv srozumitelnou odpověď. :)
Mistr
Profil
A co to kontrolovat ještě před odesláním stránky pomocí JavaScriptu? Můžeme o tom vést spory a diskutovat, ale většina běžných uživatelů má JavaScript zapnutý, takže by to snad nemělo dělat problém.

A ty, kteří by JavaScripty měly vypnuté, by zas pak mohla odhalit ta kontrola přes PHP skript. Přes něj by totiž ti se zapnutým JavaScriptem prošli bez problémů, neb by již byli zkotrolováni.
Mistr
Profil
Hrome, teď, jak na to koukám, nevím, zda to pro Tebe bude srozumitelné. Případně ještě písni a já Ti své myšlenkové pochody vysvětlím (snad) lépe.
pakomax
Profil *
Jo, rozumím, ale javascript v tomto případě nepoužívám, jedině snad kdyby se dalo přes nějaký document.write obelstít ono políčko formuláře, kde by zůstala cesta k souboru zachována i po špatně vyplněném formuláři a prvním odeslání. Radši bych to ovšem řešil v php, ale tam si nejsem jist, jestli např. session něco takového umožňuje.

V každém případě díky za reakci...
Icepoint
Profil
pokud to odesilas na nejakou konrolovaci stranku, tak ti ten soubor prijde v nejaky promeny. Pri zpetnem nacteni stranky sto staci vlozit do value prvku input type="file" ... snad me chapes :) nemam oskouseno, nevim, jestli to bude fungovat ...
pakomax
Profil *
Ne, to je právě to, co nefunguje. Funguje to pouze u textových hodnot např. input type="text" value=<? echo $text ?>.
Mistr
Profil
pakomax
Funguje to pouze u textových hodnot
A co to ukládat jako text? Prostě adresu vezmeš jako text (= textovou hodnotu) a uděláš s ní postup, co radí Icepoint a Ty jsi ho již zřejmě tako použil.
pakomax
Profil *
Jo to by šlo, akorát nevím,jak to udělat - cestu k souboru z formuláře převést na text. Poradíte??
Mistr
Profil
Prostě bych ji zkopíroval, ne? Je ve své podstatě rozdíl, zda budeš jako value přenášet "Jmenuji se Igor Hnízdo" nebo "c:\obrazky\hnizdo.jpg"? Myslím, že nikoliv.
pakomax
Profil *
No myslím, že to rozdíl je.Nějaký psaný text ve formuláři nebo cesta k souboru na klientském počítači.
Možná jen nerozumím, jak by tedy vypadala value pro input file - <? echo $file?> ????
Mistr
Profil
pakomax
S tím Ti, bohužel, neporadím, protože neumím PHP. Já uvažoval jen teoreticky, takže třeba máš skutečně pravdu, že v tom rozdíl je a mnou navržená cesta je slepou uličkou.
pakomax
Profil *
Pro ostatní, dočetl jsem se, že z důvodu bezpečnosti toto není možné, tudíž já to obešl tak, že při jakélkoliv pokusu uploadnout soubor a odeslání chybných údajů se tento soubor zpracuje (přenese do cílové složky, změní velikost obrázku atd...) a uživatel se dál trápí s formulářem...:)).
Pokud má někdo lepší řešení, budu jen rád.
I tak díky za reakce.
Mistr
Profil
pakomax
A to řešení, jak jsem Ti na počátku navrhoval s použitím JavaScriptu se Ti nezdá vhodné, jo?

Dvě kontroly (JavaScriptová a PHP).

Mám zapnuté JavaScripty a formulář je v pořádku:
Proleze a vše je OK.

Mám vypnuté JavaScripty a formulář je v pořádku:
Proleze a vše je OK.

Mám zapnuté JavaScripty a formulář není v pořádku:
Vrátí ho již JavaScriptová kontrola.

Mám vypnuté JavaScripty a formulář není v pořádku:
Vrátí ho PHP kontrola.
Toto téma je uzamčeno. Odpověď nelze zaslat.