Avatar billede ze-men Nybegynder
07. januar 2007 - 09:42 Der er 8 kommentarer og
1 løsning

Gem data i flere felter ved upload af billede i PHP & MySQL

Hej, håber meget I kan hjælpe.

Jeg har nedenstående upload-kode, der kører fint nok. Men samtidig har jeg et bruger-id fra et 'hidden_field', der skal sendes til samme række som billedet.

I koden herunder uploades billedet og navnet på filen der er uploadet bliver indsat i feltet "billednavn".
Så har jeg det her ID i feltet "hidden_id",der også skal sendes med til et felt i databasen der hedder "brugerid".

Hvordan gør jeg det med nedenstående kode:

<?

if (isset($_FILES['filnavn']))  {
  print "Fil, der er uploadet: {$_FILES['filnavn']['name']}<p>\n";
       
        $query = "INSERT INTO fan_billeder SET billednavn='".$_FILES['filnavn']['name']."'";
       
        $Result1 = mysql_query($query, $tvduno) or die(mysql_error());
}

{
$tempfile = $_FILES['filnavn']['tmp_name'];
$destination = "../billeder/fanbilleder/{$_FILES['filnavn']['name']}";
copy($tempfile, $destination);

}

?>
Avatar billede erikjacobsen Ekspert
07. januar 2007 - 09:46 #1
$query = "INSERT INTO fan_billeder SET brugerid='".$_POST['hidden_id']."', billednavn='".$_FILES['filnavn']['name']."'";

(og når det virker skal du lige sikre dig, at der faktisk står et tal i feltet - ellers har du måske åbnet for SQL-injection)
Avatar billede ze-men Nybegynder
07. januar 2007 - 09:55 #2
Hmm, har jeg lige prøvet at sætte ind. Det var noget af det samme jeg prøvede selv, så jeg var ikke helt ved siden af:-)

Men når jeg uploader nu, giver den følgende fejlkode:
Duplicate entry '7' for key 2

- og loader ikke op eller ind i databasen.
Avatar billede erikjacobsen Ekspert
07. januar 2007 - 10:00 #3
Hvordan har du lavet din tabel?
Avatar billede ze-men Nybegynder
07. januar 2007 - 10:03 #4
Jeg har selv opsat den i MySql.
Avatar billede ze-men Nybegynder
07. januar 2007 - 10:10 #5
Jeg har nu lige skiftet "hidden_id" ud med alm. tekstboks og ser at der er det korrekte id i, så det er der.

I min MySQL-databas er tabellen der bruges, 'fan_billeder', opsat med:
billedid, INT(10), [ingen nul værdi], auto_increment
brugerid, varchar (255), NULL
billednavn, varchar (255), NULL
billedtekst, test, NULL
Avatar billede erikjacobsen Ekspert
07. januar 2007 - 10:19 #6
Du må have sat en nøgle på på brugerid-feltet, og sat det til unique.
Avatar billede ze-men Nybegynder
07. januar 2007 - 10:28 #7
Weee.... Nu virker det:-)

Jeg kunne ikke umiddelbart se at feltet var "unik", derfor slettede jeg hele kolonnen og satte den ind igen - og nu virker det.

Tak for hjælpen, og tryk derfor gerne 'svar'...
Avatar billede erikjacobsen Ekspert
07. januar 2007 - 10:32 #8
Jeg samler slet ikke på point, tak. Svar selv, accepter eget svar.
Avatar billede ze-men Nybegynder
07. januar 2007 - 10:35 #9
lukket
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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