Autor Zpráva
nowis
Profil *
Zdravím,

mám ve formuláři <INPUT TYPE=FILE NAME=smlouva>

Problém je, že když tu chci testovat if (isset($_POST['smlouva'])) tak je vždy výsledek true. Jak to obejít, či vyřešit?

Díky
Someone
Profil
Dumpni si globální proměnnou $_FILES
nowis
Profil *
...hmm, tak nevím asi to neumím použít, ale spíše používám ten input jinak než je zamýšlen.

Jde mi o to, že potřebuju uložit jen cestu k souboru, nebo jen název souboru, ne celý soubor. Což funguje, nicméně jakmile uživatel chce upravit přes formulář nějaká data v DB, ale název souboru nechá prázdný, pak nevím jak zjistit, že jméno souboru nezadal, aby se toto políčko v DB nepřepsalo prázdnou hodnotou.
nemeja
Profil
if($_POST["smlouva"] != "")
nowis
Profil *
tak to je bohužel stejné, výsledek je vždy true, ikdyž si obsah proměnné nechám zobrazit a je prázdná :-(


omlouvám se, stejné to není, jdu hledat botu v kódu :-)
jenikkozak
Profil
nemeja:
Ne, to je právě ta chyba.

nowis:
if($_FILES['smlouva']['tmp_name']){/*Uživatel vybral nějaký soubor*/}else{/*Uživatel žádný soubor nevybíral*/}
Odeslat cestu k souboru z bezpečnostních důvodů prohlížeče neumožňují.
Enko
Profil *
nowis:
Nějak si to nedokážu přesně představit. Hoď sem ten kód i s komenty
nowis
Profil *
No, tak to funguje jak psal nemeja.

Funkce té části kódu by měla být taková, že jakmile uživatel zadá jméno souboru se smlouvou, znamená to, že je možné konat nějaké další věci v aplikaci. Nechci ale nahrávat smlouvu na webserver, protože k tomu není důvod, protože smlouvy a další dokumentace jsou uloženy zvlášť na fileserveru. Proto jsem chtěl v DB uchovávat jen odkaz na ten soubor. Zároveň je ale blbost, aby uživatel ručně vypisoval název souboru. Bylo by dobré, abych mohl z formuláře na ten soubor kliknout a otevřít jej. Ale to je asi trošku problém, už jen proto, že nemůžu ukládat cestu...

Kdyby někoho něco napadlo...
pcmanik
Profil
nowis:
Toto je spravny zapis pre zistenie ci sa nejaky subor odoslal

if ($_FILES["smlouva"]["error"] == UPLOAD_ERR_NO_FILE)
DarkMeni
Profil
nowis:
Když si má vybrat jen typ smlouvy (když to pak stejně nebude uložené) tak stačí <select>, ne? A do db ukládat vybranou hodnotu - ale je taky možný že jsem to špatně pochopil

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: