Just nu i M3-nätverket
Gå till innehåll
henrik d

Få tillbaka formulärvärde ($_FILES) efter submit?

Rekommendera Poster

henrik d

Jag vill få tillbaka det som har skrivits i <input type="file" name="frm_file"> efter att jag har klickat Submit, alltså den ursprungliga sökvägen till filen jag försöker att ladda upp.

 

Jag vill inte att användaren ska behöva leta upp filen eller behöva skriva in sökvägen igen ifall uppladdningen misslyckades.

 

<?php

if(isset($_POST['submit'])) {  
  echo $_FILES['frm_file']['name']."<br/>"; //ger filnamn}
?>

<form method="post" action="<?php echo basename($_SERVER['PHP_SELF']); ?>" enctype="multipart/form-data">

<label>Bild:</label>
<input type="file" name="frm_file">

<input type="submit" name="submit" value="Spara">
<input type="reset" name="rensa" value="Rensa">

</form>

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
/randis

Jag gjorde massa experiment med det där om jag inte minns fel. Jag kommer inte ihåg om jag någonsin lyckades.

 

Det som jag får för mig sådär i huvudet är väl att lägga till ett osynligt fält och klona sökvägen till det med Javascript

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
henrik d

Jag fick hjälp med en sådan lösning i forumet hos phpportalen (http://www.phpportalen.net/viewtopic.php?p=562903#562903) men nästa problem är att <input type="file" inte har någon "value"-parameter som man kan sätta. Alltså kan man inte skriva in den tidigare angivna sökvägen till filen om sidan laddas om.

 

 

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
/randis

klarar inte javascript av det då menar du?

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
henrik d

hur skulle javascript eller cookies hjälpa om "value" inte finns som attribut för den typen av input-typ?

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
Anjuna Moon

Detta attribut kan inte skriva till, vare sig med javascript eller genom att sätta attributet explicit, och det är helt och hållet per säkerhetsdesign (vilket är helt logiskt om du tänker på det)

[inlägget ändrat 2008-03-09 20:47:57 av Anjuna Moon]

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
henrik d

Jag förstår absolut att det säkerhetsmässigt inte funkar, jag bara visste inte om det och var sugen på att göra mitt formulär användarvänligt. Läste inte tillräckligt noga om input-taggens attribut helt enkelt...

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
Anjuna Moon
Det lär gå att sätta filnamnet i Opera, men då måste användaren bekräfta att hon verkligen vill skicka den filen:

Väldigt illa i mina ögon. Jag anser inte att man ska implementera detta bara för att det föreslås i ett så gammalt dokument som RFC1867 (som refererades som uppenbar orsak till denna implementation som jag förstod det).

 

Är det något vi lärt oss de senaste åren (något som man absolut inte kunde förutse för tretton år sen (när detta dokument skrevs) så är det just hur dumma och/eller oförsiktiga användare i så många fall är. Titta bara på alla problem folk får med virus på MSN trots alla varningar i media. Titta på all spyware som folk får in för att de klickar bort alertrutor på webbsidor utan att ens läsa vad som står däri.

 

Tror man på fullaste allvar att en bekräftelseruta skulle utgöra något som helst säkerhetsskydd för användaren så lever man inte i nuet. Den minimala bekvämlighet som denna implementation ger för de fåtal fall där den kan tänkas vara till "nytta" uppväger inte på långa vägar säkerhetsriskerna. Stor fadäs av norrmännen som i övrigt gjort en väldigt bra webbläsare.

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Skapa ett nytt konto på vårt forum. Det är lätt!

Registrera ett nytt konto

Logga in

Redan medlem? Logga in här.

Logga in nu



×
×
  • Skapa nytt...