Avatar billede jkn83 Praktikant
04. september 2011 - 12:18 Der er 7 kommentarer og
1 løsning

Upload og vise billed sammen med nyheds script

Hej.

Sidder med en kammerat og forsøger at hjælpe ham lidt i en lille side han er ved at få lavet. Problemet er at vi har stiret os blinde i kodningen, eller noget andet der ligesom gør vi ikke rigtigt kan se en fornuftig løsning på problemet.

Siden er udbygget efter en news tutorial vi har fulgt lidt, for at tilføje flere muligheder som senere kan benyttes.

Hvad vi gerne vil have, er at man kan uploade et billed sammen med at man skriver et review (nyhed), hvor efter billedet så bliver vist sammen med anden tilhørende information.

Koden fra filen add_review.php kan ses her:
http://pastebin.com/zqghX5sW

Nogen der eventuelt kan lure hvad kode der skal sættes ind, for at dette kan lade sig gøre ? Så ville vi være taknemmelige.
Avatar billede jkn83 Praktikant
04. september 2011 - 12:20 #1
Skal måske lige siges at vores forsøg på at linke til et allerede uploadet billede, ligger på linie 114 som så nok skal skiftes ud.
Avatar billede jkn83 Praktikant
04. september 2011 - 16:05 #3
Ja der har jeg været... Lavede en fil der hed upload_file.php som ser sådan ud: http://pastebin.com/PtY0DGYE

Men så skal man ind og kigge i dir, eller bruge readdir og sort last date og selv læse upload navnet...

Som jeg lige kan se det hvert fald...
Hvis man nu bruger et upload script, som det jeg har smidt i pastebin, og vil merge det sammen med add_review.php hvad så?. Når filen er uploaded, og filnavnet er læst, kunne det så automatisk blive sat ind i imagelink formen?

Er stadig på bar bund her...
Avatar billede jkn83 Praktikant
04. september 2011 - 17:16 #4
Ok... Er kommet lidt videre nu at det må blive manuel læsning af filnavn efter upload... Indtil videre, som jeg kan leve med.

Nu ligger problemet bare i at den ikke gemmer mit filnavn i databasen.

udsnit af koden hvor billedets filnavn sættes i formen for at blive smidt op sammen med resten af formen, ser sådan ud:
<p><b>Imagename/number :</b><br />
<input type="input" name="imagelink" size="60" maxlength="35" value="<?php if(isset($_POST['imagelink'])) echo $_POST['imagelink']; ?>" /> <a href="images/upload_file.php" target="_blank"> Upload image here</a></p>

<p><input type="submit" name="submit" value="Add Review" /></p>
<input type="hidden" name="submitted" value="TRUE" /></p>
</form>

Når jeg så ser i MySQL, er der ikke skrevet noget under imagelink, men alle andre felter er der. Nogen der kan hjælpe med den i stedet så ?

imagelink står lige pt som TEXT og har stået som VARCHAR...
Avatar billede majbom Novice
04. september 2011 - 19:26 #5
hvad bruger du dette link til:

<a href="images/upload_file.php" target="_blank"> Upload image here</a>

?

det giver ikke meget mening at sætte maxlength på et file input - hvad hvis jeg vil uploade en fil der ligger på mit skrivebord? C:\Users\splazz\Desktop\filnavn.jpg <- 37 karakterer...

har du sat enctype="multipart/form-data" i dit form-tag?
Avatar billede inteeeL Nybegynder
04. september 2011 - 20:47 #6
@Splazz, det udsnit af koden, han viser, er ikke fra uploadkoden, men et felt, hvor man skal indtaste et direkte link til et eksisterende billede (http://...jpg). Dog vil jeg stadig mene, at 35 karakterer er lige i lovligt lidt - det virker til at være lidt copy/past uden at have tænkt videre over det.

Det smarteste, i mine øjne, er at få det hele gjort på samme side. Det med først at uploade hvorefter man skal indtaste link til det pågældende billede er noget rod i forhold til det andet.

Jeg vil foreslå dig at have en funktion for sig selv, der uploader billedet. Den funktion kan du kombinere i din form sammen med oprettelsen; så har du det hele samlet. :-)
Avatar billede jkn83 Praktikant
04. september 2011 - 20:58 #7
Havde lavet upload delen ved siden af selve formen.
Så hvis du ville tilføje billede sammen med formen, klik link, ny side kommer hvor du uploader, efter upload lister den alle filer i den mappe hvor der er blevet uploadet til, sorteret med nyeste fil først. Så det eneste der skal bruges i imagelink inputtet var filnavnet og ikke stien.

Ja det er et copy paste, jo der var tænkt over længden, men da et filename der bliver genereret ud fra dato, ikke nærmer sig 35 tegn, tænkte jeg ikke det ville være nødvendigt at rette til, da det ikke er der problemet ligger.

> har du sat enctype="multipart/form-data" i dit form-tag?
Jeg lavede scriptet om og har netop fået det til at virke, nu skal der bare ryddes lidt op i koden, da det er lidt blandinger fra forskellige tutorials.

Koden som der bruges nu, så andre kan se resultatet ses her:
Form: http://pastebin.com/5KEftAew
addReview.php: http://pastebin.com/2yufWajh
Avatar billede jkn83 Praktikant
04. september 2011 - 21:00 #8
@inteeeL - Også det, det endte med. Skulle bare lige have kørt den igennem hovedet et par gange, som så også har taget hele dagen stort set at få lavet...

Men jeg nåede da frem til en løsning, og takket være mig selv enda.
Så her er mit svar...
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