Avatar billede simotho Nybegynder
12. november 2008 - 19:26 Der er 3 kommentarer og
1 løsning

udskriv billede

Hvordan udskriver jeg et billede som jeg har liggende i min database?

Koden som uploader hele rumlen:

<?php

/* Funktion der åbner en forbindelse til en specifik database */

function aabn_forbindelse() {
 
    $server = "localhost";
    $bruger = "";
    $kodeord = "";
    $database = "";

    if (!mysql_connect("$server", "$bruger", "$kodeord")) {
        udskriv_fejl("Kunne ikke oprette en forbindelse til MySQL");
    }
 
    if (!mysql_select_db("$database")) {
        udskriv_fejl("Kunne ikke vælge databasen: $database");
    }
}

/* Funktion der klarer sql-forespørgsel der IKKE modtager data */

function sql_spoerg($query) {
 
    $resultat = mysql_query($query);

    if (!$resultat) {
        udskriv_fejl("Kunne ikke udføre: <b>$query</b>");
    }
}

/* Funktion der lukker forbindelsen til databasen */

function luk_forbindelse() {
 
    if (!mysql_close()) {
        udskriv_fejl("Kunne ikke lukke forbindelsen til MySQL");
    }
}

/* Funktion der udskriver fejl */

function udskriv_fejl($fejl) {

    echo "<p>$fejl</p>";

    if ($mysql_fejl = mysql_error()) {
        echo "<br />Fejlen er: <b>$mysql_fejl</b>";
    }

    exit;
}

/* Hovedfunktioen */

function upload_fil($fil, $overskrift, $navn, $email, $website, $beskrivelse, $underskrift, $max_stoerrelse = 100, $bibliotek = "default", $filtyper_tilladt = "default") {

    if ($bibliotek == "default") {
        $bibliotek = "/upload";
    }

    if ($filtyper_tilladt == "default") {
        $filtyper_tilladt = array("image/bmp", "image/jpeg", "image/tiff", "image/png", "image/gif", "application/pdf", "application/zip", "application/arj", "application/x-zip-compressed", "application/octet-stream");
    }

    if ($fil["size"] > 0) {
     
        $filnavn = strtolower(ereg_replace(" ", "_", $fil["name"]));
        $fil_sti = $bibliotek . "/" . $filnavn;
        $fra = $fil["tmp_name"];
        $fil_stoerrelse = filesize($fra)/1024;
        $filtype = $fil["type"];
        $fejl = "0";

        if(!in_array($filtype, $filtyper_tilladt)) {
            echo "<p>Filtypen '$filtype' er ikke tilladt. De tilladte filtyper er '" . implode("', '", $filtyper_tilladt) . "'. Filen $filnavn kan derfor ikke uploades!</p>";
            $fejl = "1";
        }
        if ($fil_stoerrelse > $max_stoerrelse) {
            echo "<p>Filen '$filnavn' er for stor og kan ikke uploades. Den fylder " . ceil($fil_stoerrelse) . " kb og der kan maximalt uploades $max_stoerrelse kb!</p>";
            $fejl = "1";
        }
        if ($fejl == "0") {
            if (file_exists(getcwd() . $fil_sti)) {
             
                $pos = strrpos($filnavn, ".");
                $navn = substr($filnavn, 0, $pos);
                $type = substr($filnavn, $pos + 1, strlen($filnavn) - ($pos + 1));
                $i = 2;
             
                echo "<p>Filen '$filnavn' eksisterer allerede i '" . $bibliotek . "' og filen omdøbes derfor til ";
             
                while (file_exists(getcwd() . $fil_sti)) {
                    $filnavn = $navn . "(" . $i . ")." . $type;
                    $fil_sti = $bibliotek . "/" . $filnavn;
                    $i++;
                }
                echo "'$filnavn'</p>";
            }

            $til = $_SERVER["DOCUMENT_ROOT"] . $fil_sti;

            if (move_uploaded_file($fra, $til)) {
                echo "<p>Filen '$filnavn' er uploadet!</p>";
                aabn_forbindelse();
                sql_spoerg("INSERT INTO dintabel (overskrift, billedet, navn, email, website, beskrivelse, underskrift) VALUES ('$overskrift', '$fil_sti', '$navn', '$email', '$website', '$beskrivelse', '$underskrift')");
                luk_forbindelse();
            } else {
                echo "<p>Desværre, filen '$filnavn' kunne ikke uploades!</p>";
                return false;
            }
        }
    } else {
        echo "<p>Der er ikke vedhæftet nogen fil!</p>";
    }
}

?>

<html>

<head>
</head>

<body>

<div>

<?php
if ($_POST[sendknap] && $_POST[overskrift] && $_POST[navn] && $_POST[email] && $_POST[website] && $_POST[beskrivelse] && $_POST[underskrift]) {

    $fil = $_FILES["upfil"];
    $max_stoerrelse = 1000;
    $upload_mappe = "/upload/diverse";
    $filer_tilladt = array("image/pjpeg", "image/bmp", "image/jpeg", "image/tiff", "image/png", "image/gif", "image/jpg");

    upload_fil($fil, $overskrift, $navn, $email, $website, $beskrivelse, $underskrift, $max_stoerrelse, $upload_mappe, $filer_tilladt);

} else {
?>

<form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post" enctype="multipart/form-data">
<fieldset>
  Overskrift<br />
  <input type="text" name="overskrift" value="<?php echo "$overskrift"; ?>" size="30" /><br />
  Navn<br />
  <input type="text" name="navn" value="<?php echo "$navn"; ?>" size="30" /><br />
  Email<br />
  <input type="text" name="email" value="<?php echo "$email"; ?>" size="30" /><br />
  Website<br />
  <input type="text" name="website" value="<?php echo "$website"; ?>" size="30" /><br />
  Beskrivelse<br />
  <input type="text" name="beskrivelse" value="<?php echo "$beskrivelse"; ?>" size="30" /><br />
  Underskrift<br />
  <input type="text" name="underskrift" value="<?php echo "$underskrift"; ?>" size="30" /><br />
  Vedhæft billede<br />
  <input type="file" name="upfil" size="30" /><br />
  <input type="submit" name="sendknap" value="Upload" />
</fieldset>
</form>

<?php
}
?>

</div>

</body>

</html>

Koden som jeg har prøvet at udskrive det med ser således ud:

    <?php 
include ("connect.php");

$result = mysql_query("SELECT * FROM upload WHERE id = 3");


while($row = mysql_fetch_array($result))
  {
 



echo'<a href="www.wetoz.dk'.$row'"><img border="0" src="www.wetoz.dk'.$row'"></a>';
mysql_close($con)
?>

Hvad gør jeg galt`?
Er der noget forkert i kode 1 som der ikke skal være?
Hvad gør jeg galt i kode 2 helt præcist?

Håber i har nogle svar, fordi står og skal bruge det!
Avatar billede simotho Nybegynder
12. november 2008 - 19:35 #1
Stødte lige på et andet problem mht. teksten.

Den uploader kun billedets sti i databasen og ikke alle de andre felter?
Avatar billede olebole Juniormester
12. november 2008 - 19:46 #2
<ole>

Prøv at skrive dine sql-sætninger og evt. mysql-fejl ud, så du kan se, hvad der sker:

$sql = "... ... ...";
print "<p>".$sql."</p>";
$res = mysql_query($sql) or die (mysql_error());

/mvh
</bole>
Avatar billede simotho Nybegynder
12. november 2008 - 19:48 #3
Altså den uploader bare blankt på alle felter undtaget billedet?
Avatar billede simotho Nybegynder
12. november 2008 - 21:27 #4
fandt ud af det! :)
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