Skruuff Skrevet 10. juli 2008 Del Skrevet 10. juli 2008 Heihei.. Jeg driver å lager ett system, en slags internett katalog for produkter. Jeg har allerede fått til en form som submitter produkt detaljer til en sql database. Men jeg trenger også et bilde med. Jeg har allerede "googlet" en del rundt dette, men har ikke funnet noen løsninger som har passet for mitt behov. Etter hva jeg har lest, så er det mulig å legge til image-url'en i databasen, og deretter bruke en php kode som fetcher bildet. Jeg trenger også en form for å legge dette til. Jeg vil helst gjøre dette så enkelt som mulig, og kun bruke èn form for å laste opp selve bildet på serveren, og deretter sette inn url'en i databasen. Selve upload scriptet er ganske simpelt. Slik ser den ut: PHP-kode: <? session_start(); if(!session_is_registered(myusername)){ header("location:../admin/index.php"); } ?> <?php $target = "upload/"; $target = $target . basename( $_FILES['uploaded']['name']); $ok=1; if ($ok==0) { Echo "Filen ble ikke lastet opp"; } else { if(move_uploaded_file($_FILES['uploaded']['tmp_name'], $target)) { echo "Filen ". basename( $_FILES['uploadedfile']['name']). " har nå blitt lastet opp"; } else { echo "Filen ble faen ikke lastet opp!"; } } ?> Så etter submit knappen er trykket, må bilde lastes opp, og deretter kommer koden som setter image-url'en inn i databasen. Her er koden for å sette inn product datails inn i databasen: PHP-kode: <?php $con = mysql_connect("localhost","root",""); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("products", $con); $sql="INSERT INTO 75_200 (navn, kategori, dimensjoner, pris, beskrivelse) VALUES ('$_POST[navn]','$_POST[kategori]','$_POST[dimensjoner]','$_POST[pris]','$_POST[beskrivelse]')"; if (!mysql_query($sql,$con)) { die('Error: ' . mysql_error()); } echo "Produktet er nå lagt til i databasen "; mysql_close($con) ?> Når det er gjort må jeg lage koden for å displaye selve imaget. Her er koden jeg allerede har for å displaye product details PHP-kode: <?php mysql_connect("localhost", "root", "") or die(mysql_error()); mysql_select_db("products") or die(mysql_error()); $query = "SELECT * FROM 75_200"; $result = mysql_query($query) or die(mysql_error()); while($row = mysql_fetch_array($result)) { echo "<hr> "; echo "<b>Produkt:</b> "; echo $row['navn'] . "<br> <b>Kategori: </b>" . $row['kategori'] . "<br> <b>Dimensjoner:</b> " . $row['dimensjoner'] . "<br> <b>Pris:</b> " . $row['pris'] . "<br> <b>Beskrivelse:</b> " . $row['beskrivelse']; } ?> For å ikke lage denne posten på flere sider gidder jeg ikke å poste formene jeg lagde. Men hvis det er nødvendig, si ifra.. I samme slengen kan jeg spørre om en siste ting - etter jeg har lastet opp filene må jeg ha en redirect. Forslag? Hadde vært fint med en slik redirect som pleier å være på de fleste forums (phpbb osv) at etter du har posta kommer det en countdown, deretter blir man sendt til en annen side. Forslag = appreciated Mvh Lenke til kommentar
Per Kristian Skrevet 12. juli 2008 Del Skrevet 12. juli 2008 Hvis det er første gangen du bruker file uploads i PHP, kan det ta litt tid å sette seg inn i hvordan det funker. Ideen din om å uploade bildet og så lagre URLen i databasen skal funke helt fint! Sjekk ut denne beskrivelsen av file uploads i PHP, men regn med å knote litt før du får det til. Lykke til! Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå