Gå til innhold

Oppdatering av bilde for en ansatt


Anbefalte innlegg

Hei

 

Jeg har laget en side hvor man skriver Navn og adresse samt browser etter et bilde og alt dette blir sendt til en database.

 

Jeg skal nå ha mulighet til å velge en ansatt fra en drop down menu og deretter velge; "Endre". Da skal opplysningene til den valgte ansatte komme i et eget vindu.

Navn<input type="text" name="navn" size="20"value="<?echo $rad['Navn']; ?>" />


Adresse<input type="text" name="adresse" size="20"value="<?echo $rad['Adresse']; ?>" />

Bilde<input type="file" name="form_data"  size="40"  value=""   >

Her er da spørsmålet mitt: Når jeg trykker på endre vil jeg at stien som bilde ble browset i og lagret i skal dukke opp her. Hvordan får jeg til dette eller hva eventuelt kan gjøres hvis ikke det er mulig?

 

Merket at siden det er "file" og ikke "text" så fikk jeg ikke referert til en kolonne i databasen min.

 

For sikkerhets skyld så har er det dette jeg bruker i koden:

 

upload.php

<form method="post" action="lastopp.php" enctype="multipart/form-data"> 
<INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="1000000"> 
 <p> 
<br>Velg bilde du vil laste opp:<br> 
<input type="file" name="form_data"  size="40"> 
</p>
<p>Navn:<input type="text" name="navn" size="20"></p>
<p> </p>
<p><input type="submit" name="submit" value="submit"> 
</form>

 

Scriptet går da hit:

<?php 

include('config.php'); 
MYSQL_CONNECT($mysql_host,$mysql_user,$mysql_pass); 
mysql_select_db($mysql_db); 
extract($_FILES['form_data']); 
$data = mysql_escape_string(fread(fopen($tmp_name, "rb"), filesize($tmp_name))); 
$info = getimagesize($tmp_name); 
$width =$info[0]; 
$height=$info[1]; 

$navn=$_POST['navn'];
$adresse=$_POST[adresse'];


//echo "$height - $width"; 
$result=MYSQL_QUERY("INSERT INTO ansatt (Navn,Adresse, bin_data,filename,filesize,filetype,height,width,tekst)". 
"VALUES ('$navn','$adresse', '$data','$name','$size','$type','$height','$width','$tekst')"); 
print "<p>Bilde ble lastet opp.</b>"; 
MYSQL_CLOSE(); 
?> 

Endret av Navido
Lenke til kommentar
Videoannonse
Annonse
Huff. bilde i db. noooooot good :p

5896295[/snapback]

 

Jeg tenker dette er en både ja og nei-ting. Hvis bilder bare skal vises er det kanskje ikke så lurt (plass, prosesseringstid og -ressurser, men skal en sammeligne bilder må de ligge der. Så - bilder i en database er ikke utelukkende "feil". I dette tilfelle kanskje ikke så hensiktsmessig, men i læringsøyemed kan en gjøre nesten hva som helst.

Lenke til kommentar
Jeg tenker dette er en både ja og nei-ting. Hvis bilder bare skal vises er det kanskje ikke så lurt (plass, prosesseringstid og -ressurser, men skal en sammeligne bilder må de ligge der. Så - bilder i en database er ikke utelukkende "feil". I dette tilfelle kanskje ikke så hensiktsmessig, men i læringsøyemed kan en gjøre nesten hva som helst.

5896329[/snapback]

 

Joa, men tommelfingerregelen sier refereanser i db, fil på "disk". Greit nok å øve seg på det, men etter min mening dumt å lære seg inn dårlige vaner :)

Lenke til kommentar

om db er localhost er vel selve sendingen av data ikke ekstremt mye tregere enn over vanlig disk. bin datan må fremdeles leses og sendes til klient, smakssak spør du meg. kan spare det for mye bry til tider om du har plass/resurser til det. Kjører du derimot en ekstern database server kan jeg forstå det. Ingen vits i å skremme folk uten videre. For det var faktisk ikke hvorvidt det var lurt å lagre bilde i db han spurte om.

 

Original side på klient siden får du ikke. Den sendes aldri så vidt jeg vet, kun selve filen. Hvorfor du er ute etter å vite dette kan jeg ikke skjønne. Kunne du omformulert spørsmålet ditt litt. forsto helt erlig ikke helt hva du er ute etter

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...