Avatar billede trax Nybegynder
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&oslash;rpris:</td>
                    <td><input type="text" name="antal_foerpris" size="3" maxlength="3"> stk <input type="text" name="foerpris" size="10" maxlength="10">&nbsp;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">&nbsp;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&aelig;lder fra:</td>
                    <td><input type="text" name="fra" size="10" maxlength="10">&nbsp;Til:&nbsp;<input type="text" name="til" size="10" maxlength="10"> (10-10-2000)</td>
                </tr>
            </table>
            <br>
            <input class="buttons" type="submit" value="Tilf&oslash;j tilbud">&nbsp;&nbsp;<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&oslash;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);
}

?>
Avatar billede g1mzee Nybegynder
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..
Avatar billede trax Nybegynder
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&oslash;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);
}

?>
Avatar billede s.timmerman Nybegynder
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 :)
Avatar billede trax Nybegynder
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.
Avatar billede trax Nybegynder
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?
Avatar billede trax Nybegynder
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!
Avatar billede trax Nybegynder
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.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester



IT-JOB

Metroselskabet og Hovedstadens Letbane

Cyber Security Konsulent

Capgemini Danmark A/S

Salesforce CTO - Nordics

Udviklings- og Forenklingsstyrelsen

Generalist til PMO