12. september 2004 - 17:52
Der er
13 kommentarer og 1 løsning
submit form uden brug af knap
Hej Jeg ved godt der er en million spørgsmål om det her, men jeg syntes ikke jeg kan få det til at virker på mit uploadscript. Er der nogen der kan se hvad dælen der er galt ? <?php # # superSimpleª upload script :) # # Make sure a folder named "uploads" lies right next to this script, and has chmod 777 # if( isset($_REQUEST['send']) ){ if( is_uploaded_file($_FILES['myFile']['tmp_name']) && $_FILES['myFile']['error'] == 0){ $file_path = "./uploads/". $_FILES['myFile']['name']; if ( @copy( $_FILES['myFile']['tmp_name'] , $file_path ) ){ $isUploaded = true; } } } ?> <html> <head> <title>fileupload</title> </head> <body> <?php if ( $isUploaded ){ echo "<img src=\"$file_path\"><br /><br />\r"; } ?> <form action="" method="post" enctype="multipart/form-data" name="form"> <input type="file" name="myFile"> <br /> <input type="Submit" name="send" value="send"> </form> <a href="java script:document.form.submit()">submit event</a> <br> </body> </html>
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
12. september 2004 - 17:57
#1
Du skal vel også have en action, som er noget ?-) -- derudover kan det da anbefales ikke at bruge det reserverede ord 'form' som et navn i nogetsomhelst script !-)
12. september 2004 - 18:13
#2
jeg har også prøvet med andre form navne feks. form1. Grunden til at jeg ikke har nogen action er at det er "send" som starter mit php script i toppen. Men grunden til at det ikke virker er måske at den "send" værdi ikke bliver sendt med når jeg submitter uden brug af knappen ? I så fald hvordan kan jeg så ordne det ?
12. september 2004 - 18:30
#3
<ole> Submit-knappen eksisterer ikke som variabel på serveren, når den ikke bliver brugt. Brug et hidden field ... f.eks: <input type="hidden" name="contxt" value="upload"> Så kan du spørge med: if ( isset($_POST["contxt"]) && $_POST["contxt"]=="upload" ) { // Kør kode } Derudover er det helt korrekt, at du ikke kan bruge 'form' som navn på formen ... det bør du helt afgjort lave om :) /mvh </bole>
12. september 2004 - 19:39
#4
Hej Ole Tusind tak for hjælpen, det var lige det der skulle til. Nu prøver jeg så på at lave "browse" funktionen uden brug af den traditionelle browse knap. Jeg kan godt få "browse" vinduet frem , men nå jeg submitter så virker det ikke ?. Her du nogen bud på hvad der går galt ? (jeg kommer gerne med flere point) Min kode ser nu sådan her ud : <?php # # superSimpleª upload script :) # # Make sure a folder named "uploads" lies right next to this script, and has chmod 777 # if(isset($_POST["contxt"]) && $_POST["contxt"]=="upload" ){ if( is_uploaded_file($_FILES['myFile']['tmp_name']) && $_FILES['myFile']['error'] == 0){ $file_path = "./uploads/". $_FILES['myFile']['name']; if ( @copy( $_FILES['myFile']['tmp_name'] , $file_path ) ){ $isUploaded = true; } } } ?> <html> <head> <title>fileupload eksperten 4</title> <SCRIPT LANGUAGE=JavaScript> function upit(){ document.form1.myFile.click() } function submitIt(){ document.form1.submit(); } //--> </SCRIPT> </head> <body> <?php if ( $isUploaded ){ echo "<img src=\"$file_path\"><br /><br />\r"; } ?> <form action="" method="post" enctype="multipart/form-data" name="form1" value="upload"> <input type="file" name="myFile"> <br /> <input type="hidden" name="contxt" value="upload"> </form> <a href="java script:upit()">browse </a><br><br> <a href="java script:submitIt()">Submit(function) </a> </body> </html>
12. september 2004 - 19:56
#5
Ja, du kan ikke scripte på en <inpyt type="file">. Det kan man ikke af sikkerheds hensyn
12. september 2004 - 20:10
#6
hmm det var ærgelig, men måske er der en workaround af en slags. Jeg prøver nemlig at få dette eksempel til at virke med php og der ser ud til at det kan uploaded uden direkte brug af tryk på html knapperne. (man kan download coden hvis nogen skulle ønske det)
12. september 2004 - 20:11
#7
12. september 2004 - 20:19
#8
Du kan ikke uploade filer uden bruger-handlinger - med mindre, du får lov til at installere kode på brugerens PC ... that's it 'n' that's that :)
12. september 2004 - 20:28
#9
Der er en svag mulighed for, det kan gøres via Flash - der jo som bekendt er om muligt endnu mere hullet end IE. Min firewall spørger mig altid, om jeg vil tillade Flash-objekter, når der er Flash-film på en side. Det er ekstremt sjældent, jeg svarer 'ja' ... så kunne jeg ligeså godt droppe alle forsøg på at bevare et minimum af sikkerhed på min PC.
12. september 2004 - 20:32
#10
okay, jeg tror sku jeg giver op så :-) Men tak for hjælpe og smid lige et svar for point. mvh /h
12. september 2004 - 20:34
#11
Selvtak ... som du kan se, duer det, du har linket til, heller ikke. Scriptet benytter et gammelt hul i Explorer, der for længst er stoppet :)
12. september 2004 - 20:49
#13
Jeg tror, du trænger til at få patched din browser. Mon ikke du skulle besøge MS? ;o)
12. september 2004 - 20:55
#14
haha...det er nok en god ide :-)
Vi tilbyder markedets bedste kurser inden for webudvikling