Avatar billede netspinner Nybegynder
07. december 2004 - 23:38 Der er 6 kommentarer og
1 løsning

Upload-script + albumgenerering

Hej, nu har jeg brugt nogle dage på at undersøge en pæn del upload-scripts, men jeg er blevet mere forvirret end klog.

Det jeg søger er 2 scripts der kan arbejde sammen med en database.

Script 1) Jeg vil gerne lave en separat side til mine brugere, hvor de kan uploade billeder (og kun billeder) til et bibliotek vha. en simpel formular. Når de træder ind på siden skal der registreres om en cookie er initialiseret (jeg arbejder med cookies), altså fordi man skal være logget ind for at kunne uploade noget.
Samtidig ved upload skal de kunne knytte en kommentar til billedet + at brugernavn også registreres i databasen.
Når de har uploadet et billede, får de et link til filen på serveren, dvs. noget i retning af $billed_sti + $billed_navn = "http://www.ditdomæne.dk/billeder"+$billed_navn, eksempelvis: Link: http://www.ditdomæne.dk/billeder/bold.jpg

Script 2) Der skal desuden være et lille script a la et album, hvor alle billeder der er uploadet vises i en række tabeller – sammen med kommentaren fra brugeren + brugernavnet, som gerne skulle vises nedenunder billedet.

Desuden søger jeg en funktion, hvor de kan klikke på en lille knap og så bliver linket kopieret ind i udklipsholderen, men det hører nok JavaScript-folket til :-)

Noget der har et par scripts der kan gøre dette…?
Avatar billede baitianlong Nybegynder
08. december 2004 - 00:24 #1
Tja, prøv med dette:
--------------------------------------------------------
<?php
if(!isset($_COOKIE['hanerok'])) {
  header("Location: skrid.php");
}
if(isset($_GET['funktion'])) {
    $funktion = $_GET['funktion'];
    $kommentar = $_POST['kommentar'];
}
if($funktion == "upload") {
    if($_FILES['uploadbillede']['error'] != UPLOAD_ERR_OK) {
        $melding = "Upload gik i fisk !";
    } elseif($_FILES['uploadbillede']['type'] != "image/pjpeg" && $_FILES['uploadbillede']['type'] != "image/gif") {
        $melding = "File format ikke tilladt, kun jpg/gif billeder !";
    } else {
        if(move_uploaded_file($_FILES['uploadbillede']['tmp_name'], $_SERVER['DOCUMENT_ROOT']."/billeder/".$_FILES['uploadbillede']['name'])) {
            $melding = "Upload gik fint :)";
            mysql_connect("localhost", "brugernavn", "password");
            mysql_select_db("database");
            mysql_query("INSERT INTO billederkommentarer(billed, kommentar) VALUES('".$_FILES['uploadbillede']['name']."', '$kommentar');
        }
    }
}
?>
<form action="<?= $_SERVER['PHP_SELF'] ?>?funktion=upload" method="post" enctype="multipart/form-data">
<input type="file" name="uploadbillede"><br>
Kommentar<textarea name="kommentar" cols="10" rows="10><?= $kommentar ?></textarea><br>
<input type="submit" value="Send">
</form>
<?php
if(isset($melding)) print $melding;
?>
---------------------------------------------------------
Og den side, der skal vise billederne:
---------------------------------------------------------
<?php
print "<table>";
mysql_connect("localhost", "brugernavn", "password");
mysql_select_db("database");
$result = mysql_query("SELECT * FROM billederkommetarer");
while($row = mysql_fetch_assoc($result)) {
    print "<tr><td align=\"center\"><img src=\"".$_SERVER['DOCUMENT_ROOT']."/billeder/".$row['billede']."\"></td></tr>";
    print "<tr><td align=\"center\">".$row['kommentar']."</td></tr>";
}
print "</table>";
?>
---------------------------------------------------------

:)
Avatar billede netspinner Nybegynder
08. december 2004 - 02:06 #2
Der er fejl i flg. linie
<form action="<?= $_SERVER['PHP_SELF'] ?>?funktion=upload" method="post" enctype="multipart/form-data">

Output: "Parse error: parse error, unexpected '?' ..."
Avatar billede baitianlong Nybegynder
08. december 2004 - 02:14 #3
Der mangler lige "); i denne linie:

mysql_query("INSERT INTO billederkommentarer(billed, kommentar) VALUES('".$_FILES['uploadbillede']['name']."', '$kommentar');

Skal være:

mysql_query("INSERT INTO billederkommentarer(billed, kommentar) VALUES('".$_FILES['uploadbillede']['name']."', '$kommentar')");

:)
Avatar billede baitianlong Nybegynder
08. december 2004 - 02:20 #4
...og så mangler der lige et " i denne linie:

Kommentar<textarea name="kommentar" cols="10" rows="10><?= $kommentar ?></textarea><br>

skal være:

Kommentar<textarea name="kommentar" cols="10" rows="10"><?= $kommentar ?></textarea><br>
Avatar billede netspinner Nybegynder
08. december 2004 - 02:45 #5
Okay, scriptet ligner noget jeg kan bruge... der mangler bare lige det med at hvert billede også skal kunne tildeles et unikt brugernavn :) Har prøvet at implementere det i et testdesign, men det driller lige med cookies... mystisk :/
Avatar billede baitianlong Nybegynder
08. december 2004 - 02:52 #6
Hvis de må uploade m.v. skal du huske at sætte cookien der hvor det bliver tilladt. iflg mit script skal du således skrive setcookie("hanerok", "ok", time()+10*3600);

...men det regner jeg med, du har styr på :)
Avatar billede netspinner Nybegynder
08. december 2004 - 13:42 #7
Kan jeg udvide scriptet, således at den side der viser billederne også indeholder formularer til brugerkommentarer som bliver gemt i databasen og vist når man loader siden?

Jeg er i slutfasen på et projekt hvor dette skal understøttes, så hurtige svar er meget velkomne!
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