15. april 2008 - 17:41
Der er
6 kommentarer og 1 løsning
php fil upload
Har lavet en form hvor jeg kan uploade et billede og indsætte nogle andre data i sql. Alle data bliver sat ind i sql, billedet sker der intet med (bliver heller ikke uploadet) Dette er siden hvor jeg tilføjer: <form id="FormName" action="add_tilbud.php" method="post" name="tilfoej"> <table width="400" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="100">Kategori:</td> <td><input type="text" name="kategori" size="24"> (Hund, kat, etc.)</td> </tr> <tr> <td width="100">Navn:</td> <td><input type="text" name="navn" size="50"></td> </tr> <tr> <td width="100">Beskrivelse:</td> <td><input type="text" name="beskrivelse" size="24"></td> </tr> <tr> <td width="100">Billede:</td> <td><input type="file" name="uploadedfile" size="30"></td> </tr> <tr> <td width="100">Førpris:</td> <td><input type="text" name="antal_foerpris" size="3" maxlength="3"> stk <input type="text" name="foerpris" size="10" maxlength="10"> DKK (100,00)</td> </tr> <tr> <td width="100">Nupris:</td> <td><input type="text" name="antal_nupris" size="3" maxlength="3"> stk <input type="text" name="nupris" size="10" maxlength="10"> DKK (100,00)</td> </tr> <tr> <td width="100">Spar:</td> <td><input type="text" name="spar" size="10" maxlength="10"> DKK (100,00)</td> </tr> <tr> <td width="100">Gælder fra:</td> <td><input type="text" name="fra" size="10" maxlength="10"> Til: <input type="text" name="til" size="10" maxlength="10"> (10-10-2000)</td> </tr> </table> <br> <input class="buttons" type="submit" value="Tilføj tilbud"> <input type="reset" value="Slet alt"> </form> <?php if($uploadedfile) { if(!copy($uploadedfile,"images/$uploadedfile_name")) { echo "Der opstod en fejl, luk venligst vinduet og prøv igen.. :/"; } else { echo "Filen er uploadet - $uploadedfile_name.<br>"; mysql_query("insert into tilbud (billede) values ('$uploadedfile_name')"); } } if ( $_POST['submit'] = "Tilføj") include("connect.php"); //Inkluder filen der connecter til min database $sql="INSERT INTO tilbud (kategori, navn, beskrivelse, antal_foerpris, foerpris, antal_nupris, nupris, spar, fra, til) VALUES ('$_POST[kategori]','$_POST[navn]','$_POST[beskrivelse]','$_POST[antal_foerpris]','$_POST[foerpris]','$_POST[antal_nupris]','$_POST[nupris]','$_POST[spar]','$_POST[fra]','$_POST[til]')"; if (!mysql_query($sql,$con)) { die('Error: ' . mysql_error()); } { mysql_close($con); } ?>
Annonceindlæg fra Infor
15. april 2008 - 17:56
#1
det har jeg en god forklaring på ;D. det er for du har din include ("connect.php") efter dit upload, så i det du vil oploade billedet, gør den intet, eftersom der slet ingen kontant er med databasen. tag og ryk din indclude helt op i toppen, så du har sikker. også for fremtiden. og så brug noget css, istedet for alt den table..
15. april 2008 - 18:08
#2
Ja, den kan jeg godt se. Jeg har nu flyttet den op lige under <?php tagget .. men samme (manglende) resultat. Table er kun indtil jeg har det færdigt, så kommer der css .. jeg er hurtigere til tables :) <?php include("connect.php"); //Inkluder filen der connecter til min database if($uploadedfile) { if(!copy($uploadedfile,"images/$uploadedfile_name")) { echo "Der opstod en fejl, luk venligst vinduet og prøv igen.. :/"; } else { echo "Filen er uploadet - $uploadedfile_name.<br>"; mysql_query("insert into tilbud (billede) values ('$uploadedfile_name')"); } } if ( $_POST['submit'] = "Tilføj") $sql="INSERT INTO tilbud (kategori, navn, beskrivelse, antal_foerpris, foerpris, antal_nupris, nupris, spar, fra, til) VALUES ('$_POST[kategori]','$_POST[navn]','$_POST[beskrivelse]','$_POST[antal_foerpris]','$_POST[foerpris]','$_POST[antal_nupris]','$_POST[nupris]','$_POST[spar]','$_POST[fra]','$_POST[til]')"; if (!mysql_query($sql,$con)) { die('Error: ' . mysql_error()); } { mysql_close($con); } ?>
15. april 2008 - 18:13
#3
Hej, for det første, så skal du sætte enctype på din form: <form id="FormName" action="add_tilbud.php" method="post" name="tilfoej" enctype="multipart/form-data"> Da du sikker er ligeglad med hvordan det fungerer, har jeg tilladt mig at skrive din upload / dit mysql query om: include("connect.php"); if (isset($_FILES['uploadedfile'])){ if (!move_uploaded_file($_FILES['uploadedfile']['tmp_name'], "images/".$_FILES['uploadedfile']['name'])){ echo "Der opstod en fejl, luk venligst vinduet og prøv igen.. :/"; } else { echo "Filen er uploadet - ".$_FILES['uploadedfile']['name']."<br>"; mysql_query("INSERT INTO `tilbud` (`billede`) VALUES ('".$_FILES['uploadedfile']['name']."')"); } } if (isset($_POST['submit'])){ $sql="INSERT INTO tilbud (kategori, navn, beskrivelse, antal_foerpris, foerpris, antal_nupris, nupris, spar, fra, til) VALUES ('$_POST[kategori]','$_POST[navn]','$_POST[beskrivelse]','$_POST[antal_foerpris]','$_POST[foerpris]','$_POST[antal_nupris]','$_POST[nupris]','$_POST[spar]','$_POST[fra]','$_POST[til]')"; if (!mysql_query($sql,$con)){ die('Error: ' . mysql_error()); } } mysql_close($con); Jeg ta'r lige forbehold for fejl - ovenstående er ikke testet :)
15. april 2008 - 19:26
#4
Helt ligeglad er jeg ikke - men jeg løber det lige igennem og ser om jeg har spørgsmål. Kan først teste det af i morgen.
16. april 2008 - 12:48
#5
Nu uploader den filen, men indsætter ikke de andre data i databasen. Desuden, så kan jeg ikke se filen der er uploadet på serveren ? (via ftp) men den viser den fint nok ved udskrivning. Er det normalt?
16. april 2008 - 15:47
#6
Jeg har smidt begge mysql_query's sammen og lavet en "if" if (isset($_POST['submit']) . isset($_FILES['uploadedfile'])){ Så kører det!
16. april 2008 - 18:41
#7
Lige et side spørgsmål. Hvordan ændre jeg stien hvor filen skal flyttes til "root/folder" ? altså nu ligger den filen samme sted hvor dette script ligger, dette vil jeg gerne have ændret til www/domæne/tilbud/images if (!move_uploaded_file($_FILES['uploadedfile']['tmp_name'], "images/".$_FILES['uploadedfile']['name'])){ evt. sådan at databasen også får dette ind, så lige meget hvor man henter billede stien på serveren, så bliver billedet vist.
Vi tilbyder markedets bedste kurser inden for webudvikling