Avatar billede xeox Nybegynder
07. december 2004 - 17:59 Der er 14 kommentarer og
1 løsning

Hjælp til billede upload??

Hej.

Jeg har følgende side:
<?php
require("db.php");
$message = '';
if(isset($_POST['top']) && isset($_POST['tekst'])) {
    $tid = date("d/m Y - H:i");
    $_POST['top'] = addslashes($_POST['top']);
    $_POST['tekst'] = addslashes($_POST['tekst']);
    mysql_query("INSERT INTO produkt (top, pic, tekst) VALUES('$_POST[top]', '$_POST[pic]', '$_POST[tekst]', '$_POST[picstor]', '$_POST[picen]', '$_POST[picto]', '$_POST[pictre]')") or die(mysql_error());
    $message = "<div align='center' style='font: smaller Verdana, Geneva, Arial, Helvetica, sans-serif; color: black;'>Produktet blev tilføjet.</div>";
}
?>
              <form action="pup.php" method="post" enctype="multipart/form-data">
              <center><?=$message?></center>
                <div align="center">
                  <table border="0" cellspacing="0" cellpadding="0" width="100%" height="165" class="tekst_normal">
                    <tr>
                      <td height="19" colspan="4" class="menu">&nbsp;<font color="#000000">&nbsp;<strong>Tilf&oslash;j
                        en nyt billede </strong></font></td>
                    </tr>
                    <tr>
                      <td width="57"><span class="style9"><b>Navn : </b> </span></td>
                      <td><input type="text" size="16" class="box" name="top"></td>
                      <td>&nbsp;</td>
                      <td width="119">&nbsp;</td>
                    </tr>
                    <tr>
                      <td><span class="style9"><b>Billede :</b></span></td>
                      <td width="170"><input name="pic" type="file" class="box" id="upfile" size="16"></td>
                      <td width="71">&nbsp;</td>
                      <td>&nbsp;</td>
                    </tr>
                    <tr>
                      <td><span class="style9">Stort billede </span></td>
                      <td colspan="2"><input name="picstor" type="file" class="box" id="upfile" size="16"></td>
                      <td>&nbsp;</td>
                    </tr>
                    <tr>
                      <td><span class="style9">Billede 1 </span></td>
                      <td><input name="picen" type="file" class="box" id="upfile" size="16"></td>
                      <td>&nbsp;</td>
                      <td>&nbsp;</td>
                    </tr>
                    <tr>
                      <td><span class="style9">Billede 2 </span></td>
                      <td><input name="picto" type="file" class="box" id="upfile" size="16"></td>
                      <td>&nbsp;</td>
                      <td>&nbsp;</td>
                    </tr>
                    <tr>
                      <td><span class="style9">Billede 3</span></td>
                      <td><input name="pictre" type="file" class="box" id="upfile" size="16"></td>
                      <td>&nbsp;</td>
                      <td>&nbsp;</td>
                    </tr>
                    <tr>
                      <td><span class="style9"><b>Tekst :</b></span></td>
                      <td colspan="3"><textarea name="tekst" cols="36" rows="5" class="box" id="tekst"></textarea></td>
                    </tr>
                  </table>
                  <input type="submit" value="Tilføj produkt" class="submit">
</div>
</form>
<br>
                              <br>
<table width="100%">
      </table>
                             
              <? mysql_close(); ?>


som går videre hen til:

(pup.php)


<?php
            require("db.php"); 
            ?>
              <?php

if (isset($_FILES['pic'])) {

//til brug for info om filtyper
$str1 = $_FILES['pic']['name'];
$str2 = $_FILES['pic']['size'];
$str3 = $_FILES['pic']['type'];

//Filer som kan uploades
$filetyper = array("image/gif", "text/html", "text/plain", "image/jpeg", "image/pjpeg", "image/png", "application/x-zip-compressed", "application/octet-stream");

//stien, hvortil filerne skal placeres   
    $dist = "../produkt/";

//Tjek om der er en fil, samt om den overholder filtypen som kan uploades
    if (isset($_FILES['pic']['name']) && $_FILES['pic']['name'] == "") {
    echo"Ingen fil valgt! <a href=\"$_SERVER[HTTP_REFERER]\">tilbage</a>";
    exit;

}elseif (!in_array($_FILES['pic']['type'], $filetyper)) {
echo "Ikke tilladt til upload! <a href=\"$_SERVER[HTTP_REFERER]\">tilbage</a>";
exit;
    }

    if (isset($_FILES['pic']['name']) && $_FILES['pic']['name'] !="") {

//se http://dk.php.net/manual/en/function.is-uploaded-file.php for "is_uploaded_file"       
        if(is_uploaded_file($_FILES['pic']['tmp_name'])) {

//Flyt filen fra upload-tmp til et dir. Husk at ændre "$dist" ovenover så det passer med din server :O)
        move_uploaded_file($_FILES['pic']['tmp_name'], $dist . $_FILES['pic']['name']);
        }
    }
}

//indsætte i databasen
$filnavn = "http://oksbjerg-byg.dk.linux2.unoeuro.com/produkt/" . $_FILES['pic']['name'];
    mysql_query("INSERT INTO produkt (top, pic, tekst, picstor, picen, picto, pictre) VALUES('$_POST[top]', '$_POST[pic]', '$_POST[tekst]', '$_POST[picstor]', '$_POST[picen]', '$_POST[picto]', '$_POST[pictre]')") or die(mysql_error());
    $HTTP_REFERER = $_SERVER['HTTP_REFERER'];
    echo $_FILES['pic']['name'];

?>
<?php mysql_close; ?>
<?php
            require("db.php"); 
            ?>
              <?php

if (isset($_FILES['picstor'])) {

//til brug for info om filtyper
$str1 = $_FILES['picstor']['name'];
$str2 = $_FILES['picstor']['size'];
$str3 = $_FILES['picstor']['type'];

//Filer som kan uploades
$filetyper = array("image/gif", "text/html", "text/plain", "image/jpeg", "image/pjpeg", "image/png", "application/x-zip-compressed", "application/octet-stream");

//stien, hvortil filerne skal placeres   
    $dist = "../produkt/";

//Tjek om der er en fil, samt om den overholder filtypen som kan uploades
    if (isset($_FILES['picstor']['name']) && $_FILES['picstor']['name'] == "") {
    echo"Ingen fil valgt! <a href=\"$_SERVER[HTTP_REFERER]\">tilbage</a>";
    exit;

}elseif (!in_array($_FILES['picstor']['type'], $filetyper)) {
echo "Ikke tilladt til upload! <a href=\"$_SERVER[HTTP_REFERER]\">tilbage</a>";
exit;
    }

    if (isset($_FILES['picstor']['name']) && $_FILES['picstor']['name'] !="") {

//se http://dk.php.net/manual/en/function.is-uploaded-file.php for "is_uploaded_file"       
        if(is_uploaded_file($_FILES['picstor']['tmp_name'])) {

//Flyt filen fra upload-tmp til et dir. Husk at ændre "$dist" ovenover så det passer med din server :O)
        move_uploaded_file($_FILES['picstor']['tmp_name'], $dist . $_FILES['picstor']['name']);
        }
    }
}

//indsætte i databasen
$filnavn = "http://oksbjerg-byg.dk.linux2.unoeuro.com/produkt/" . $_FILES['picstor']['name'];
    $HTTP_REFERER = $_SERVER['HTTP_REFERER'];
    echo $_FILES['picstor']['name'];

?>
<?php mysql_close; ?>
<?php
            require("db.php"); 
            ?>
              <?php

if (isset($_FILES['picen'])) {

//til brug for info om filtyper
$str1 = $_FILES['picen']['name'];
$str2 = $_FILES['picen']['size'];
$str3 = $_FILES['picen']['type'];

//Filer som kan uploades
$filetyper = array("image/gif", "text/html", "text/plain", "image/jpeg", "image/pjpeg", "image/png", "application/x-zip-compressed", "application/octet-stream");

//stien, hvortil filerne skal placeres   
    $dist = "../produkt/";

//Tjek om der er en fil, samt om den overholder filtypen som kan uploades
    if (isset($_FILES['picen']['name']) && $_FILES['picen']['name'] == "") {
    echo"Ingen fil valgt! <a href=\"$_SERVER[HTTP_REFERER]\">tilbage</a>";
    exit;

}elseif (!in_array($_FILES['picen']['type'], $filetyper)) {
echo "Ikke tilladt til upload! <a href=\"$_SERVER[HTTP_REFERER]\">tilbage</a>";
exit;
    }

    if (isset($_FILES['picen']['name']) && $_FILES['picen']['name'] !="") {

//se http://dk.php.net/manual/en/function.is-uploaded-file.php for "is_uploaded_file"       
        if(is_uploaded_file($_FILES['picen']['tmp_name'])) {

//Flyt filen fra upload-tmp til et dir. Husk at ændre "$dist" ovenover så det passer med din server :O)
        move_uploaded_file($_FILES['picen']['tmp_name'], $dist . $_FILES['picen']['name']);
        }
    }
}

//indsætte i databasen
$filnavn = "http://oksbjerg-byg.dk.linux2.unoeuro.com/produkt/" . $_FILES['picen']['name'];
  $HTTP_REFERER = $_SERVER['HTTP_REFERER'];
    echo $_FILES['picen']['name'];

?>
<?php mysql_close; ?>
<?php
            require("db.php"); 
            ?>
              <?php

if (isset($_FILES['picto'])) {

//til brug for info om filtyper
$str1 = $_FILES['picto']['name'];
$str2 = $_FILES['picto']['size'];
$str3 = $_FILES['picto']['type'];

//Filer som kan uploades
$filetyper = array("image/gif", "text/html", "text/plain", "image/jpeg", "image/pjpeg", "image/png", "application/x-zip-compressed", "application/octet-stream");

//stien, hvortil filerne skal placeres   
    $dist = "../produkt/";

//Tjek om der er en fil, samt om den overholder filtypen som kan uploades
    if (isset($_FILES['picto']['name']) && $_FILES['picto']['name'] == "") {
    echo"Ingen fil valgt! <a href=\"$_SERVER[HTTP_REFERER]\">tilbage</a>";
    exit;

}elseif (!in_array($_FILES['picto']['type'], $filetyper)) {
echo "Ikke tilladt til upload! <a href=\"$_SERVER[HTTP_REFERER]\">tilbage</a>";
exit;
    }

    if (isset($_FILES['picto']['name']) && $_FILES['picto']['name'] !="") {

//se http://dk.php.net/manual/en/function.is-uploaded-file.php for "is_uploaded_file"       
        if(is_uploaded_file($_FILES['picto']['tmp_name'])) {

//Flyt filen fra upload-tmp til et dir. Husk at ændre "$dist" ovenover så det passer med din server :O)
        move_uploaded_file($_FILES['picto']['tmp_name'], $dist . $_FILES['picto']['name']);
        }
    }
}

//indsætte i databasen
$filnavn = "http://oksbjerg-byg.dk.linux2.unoeuro.com/produkt/" . $_FILES['picto']['name'];
  $HTTP_REFERER = $_SERVER['HTTP_REFERER'];
    echo $_FILES['picto']['name'];

?>
<?php mysql_close; ?>
<?php
            require("db.php"); 
            ?>
              <?php

if (isset($_FILES['pictre'])) {

//til brug for info om filtyper
$str1 = $_FILES['pictre']['name'];
$str2 = $_FILES['pictre']['size'];
$str3 = $_FILES['pictre']['type'];

//Filer som kan uploades
$filetyper = array("image/gif", "text/html", "text/plain", "image/jpeg", "image/pjpeg", "image/png", "application/x-zip-compressed", "application/octet-stream");

//stien, hvortil filerne skal placeres   
    $dist = "../produkt/";

//Tjek om der er en fil, samt om den overholder filtypen som kan uploades
    if (isset($_FILES['pictre']['name']) && $_FILES['pictre']['name'] == "") {
    echo"Ingen fil valgt! <a href=\"$_SERVER[HTTP_REFERER]\">tilbage</a>";
    exit;

}elseif (!in_array($_FILES['pictre']['type'], $filetyper)) {
echo "Ikke tilladt til upload! <a href=\"$_SERVER[HTTP_REFERER]\">tilbage</a>";
exit;
    }

    if (isset($_FILES['pictre']['name']) && $_FILES['pictre']['name'] !="") {

//se http://dk.php.net/manual/en/function.is-uploaded-file.php for "is_uploaded_file"       
        if(is_uploaded_file($_FILES['pictre']['tmp_name'])) {

//Flyt filen fra upload-tmp til et dir. Husk at ændre "$dist" ovenover så det passer med din server
        move_uploaded_file($_FILES['pictre']['tmp_name'], $dist . $_FILES['pictre']['name']);
        }
    }
}

//indsætte i databasen
$filnavn = "http://oksbjerg-byg.dk.linux2.unoeuro.com/produkt/" . $_FILES['pictre']['name'];
  $HTTP_REFERER = $_SERVER['HTTP_REFERER'];
    echo $_FILES['pictre']['name'];

?>
<?php mysql_close; ?>



Den ligger fint billederne op .. Og ligger fint "$top" & "$tekst" op i min database.. Men ikke url på pic,picstor,picen,picto og pictre .. jeg ved jeg lukker min mysql connection flere gange osv. Men hvordan ville i lave pup.php ??

Håber i kan hjælpe mig. Det nemlig vigtigt den ligger url
($filnavn = "http://oksbjerg-byg.dk.linux2.unoeuro.com/produkt/" . $_FILES['pic']['name'];
) op i min DB.

Mvh
Avatar billede coderdk Praktikant
07. december 2004 - 19:46 #1
mysql_query("INSERT INTO produkt (top, pic, tekst) VALUES('$_POST[top]', '$_POST[pic]', '$_POST[tekst]', '$_POST[picstor]', '$_POST[picen]', '$_POST[picto]', '$_POST[pictre]')") or die(mysql_error());

bør da være:

mysql_query("INSERT INTO produkt (top, pic, tekst) VALUES('$_POST[top]', '{$_FILES['pic']['name']}', '$_POST[tekst]', '{$_FILES['picstor']['name']}', '{$_FILES['picen']['name']}', '{$_FILES['picto']['name']}', '{$_FILES['pictre']['name']}')") or die(mysql_error());

right?
Avatar billede coderdk Praktikant
07. december 2004 - 19:48 #2
Den passer da heller ikke - Der mangler jo nogen i din feltliste!

(top, pic, tekst)

Du vil indsætte 3, men du sætter 7 ind ;)
Avatar billede xeox Nybegynder
07. december 2004 - 21:27 #3
Ja nemlig.. den ligger det hele ind flere gange.. og det skal den ikke :/.. har du en måde at gøre det anderledes på :/?
Avatar billede coderdk Praktikant
07. december 2004 - 22:21 #4
Ikke forstået - Den SQL du havde før er slet ikke valid, du mangler 4 felter i din INSERT, du har:

  INSERT INTO produkt (top, pic, tekst)

hvor den burde være noget i stil med:

  INSERT INTO produkt (top, pic, tekst, picstor, picen, picto, pictre )

Resten har jeg rettet i den tidligere kommentar, så den burde sætte filnavnene ind...
Avatar billede coderdk Praktikant
07. december 2004 - 22:23 #5
Hmm ok, jeg kan se der er lidt rod i din side, lad mig lige se om jeg kan hitte rede iden...
Avatar billede xeox Nybegynder
07. december 2004 - 22:30 #6
så skal min insert into vel faktisk være ved den sidste
//indsætte i databasen
$filnavn = "http://oksbjerg-byg.dk.linux2.unoeuro.com/produkt/" . $_FILES['pictre']['name'];
  $HTTP_REFERER = $_SERVER['HTTP_REFERER'];
    echo $_FILES['pictre']['name'];


ikke?

Jeg havde rettet INSERT INTO produkt (top, pic, tekst, picstor, picen, picto, pictre ) før du nåede at skrive, men fik det ikke lige skrevet herinde ;o)
Avatar billede coderdk Praktikant
07. december 2004 - 22:41 #7
Ok til at starte med har du nok ikke brug for dette i din første fil:

<?php
require("db.php");
$message = '';
if(isset($_POST['top']) && isset($_POST['tekst'])) {
    $tid = date("d/m Y - H:i");
    $_POST['top'] = addslashes($_POST['top']);
    $_POST['tekst'] = addslashes($_POST['tekst']);
    mysql_query("INSERT INTO produkt (top, pic, tekst) VALUES('$_POST[top]', '$_POST[pic]', '$_POST[tekst]', '$_POST[picstor]', '$_POST[picen]', '$_POST[picto]', '$_POST[pictre]')") or die(mysql_error());
    $message = "<div align='center' style='font: smaller Verdana, Geneva, Arial, Helvetica, sans-serif; color: black;'>Produktet blev tilføjet.</div>";
}
?>

og

              <? mysql_close(); ?>

De burde ikke blive brugt.

php.php har jeg lavet helt om:

<?php
   
    require( "db.php" );

    function handleFile( $feltnavn )
    {
        $filetyper = array(
                "image/gif"
                ,"text/html"
                ,"text/plain"
                ,"image/jpeg"
                ,"image/pjpeg"
                ,"image/png"
                ,"application/x-zip-compressed"
                ,"application/octet-stream"
            );

        //stien, hvortil filerne skal placeres 
        $dist = "../produkt/";

        //Tjek om der er en fil, samt om den overholder filtypen som kan uploades
        if ( isset( $_FILES[$feltnavn]['name'] ) && $_FILES[$feltnavn]['name'] == "")
        {
            echo"Ingen fil valgt! <a href=\"$_SERVER[HTTP_REFERER]\">tilbage</a>";
            exit;

        }
        elseif ( !in_array( $_FILES[$feltnavn]['type'], $filetyper ) )
        {
            echo "Ikke tilladt til upload! <a href=\"$_SERVER[HTTP_REFERER]\">tilbage</a>";
            exit;
        }

        if ( isset( $_FILES[$feltnavn]['name'] ) && $_FILES[$feltnavn]['name'] !="" )
        {
            //se http://dk.php.net/manual/en/function.is-uploaded-file.php for "is_uploaded_file"     
            if( is_uploaded_file( $_FILES[$feltnavn]['tmp_name'] ) )
            {
                //Flyt filen fra upload-tmp til et dir. Husk at ændre "$dist" ovenover så det passer med din server :O)
                move_uploaded_file( $_FILES[$feltnavn]['tmp_name'], $dist . $_FILES[$feltnavn]['name'] );
                return true;
            }
        }
        return false;
    }

    $pic = '';
    $picstor = '';
    $picen = '';
    $picto = '';
    $pictre = '';
    $url = "http://oksbjerg-byg.dk.linux2.unoeuro.com/produkt/";

    if (isset( $_FILES['pic'] ) && handleFile( 'pic' ))
    {
        $pic1 = $url . $_FILES['pic']['name'];
    }
   
    if (isset( $_FILES['picstor'] ) && handleFile( 'picstor' ))
    {
        $picstor = $url . $_FILES['picstor']['name'];
    }
   
    if (isset( $_FILES['picen'] ) && handleFile( 'picen' ))
    {
        $picen = $url . $_FILES['picen']['name'];
    }
   
    if (isset( $_FILES['picto'] ) && handleFile( 'picto' ))
    {
        $picto = $url . $_FILES['picto']['name'];
    }
   
    if (isset( $_FILES['pictre'] ) && handleFile( 'pictre' ))
    {
        $pictre = $url . $_FILES['pictre']['name'];
    }

    $sql = "
        INSERT INTO
            produkt
        (
            top
            ,pic
            ,tekst
            ,picstor
            ,picen
            ,picto
            ,pictre
        )
        VALUES
        (
            '$_POST[top]'
            ,'$pic'
            ,'$_POST[tekst]'
            ,'$picstor'
            ,'$picen'
            ,'$picto'
            ,'$pictre'
        )
        ";

    mysql_query( $sql ) or die(mysql_error());   

    mysql_close();

?>
Avatar billede coderdk Praktikant
07. december 2004 - 22:41 #8
"php.php har jeg lavet helt om"

der skulle have stået:

"pub.php har jeg lavet helt om"
Avatar billede coderdk Praktikant
07. december 2004 - 22:49 #9
linjen:

  $pic1 = $url . $_FILES['pic']['name'];

skulle nok også have været:

  $pic = $url . $_FILES['pic']['name'];
Avatar billede xeox Nybegynder
07. december 2004 - 23:08 #10
Det virker rimeligt lige nu .. men hvordan får jeg dette med $link til at virke korrekt?

    $pic = '';
    $picstor = '';
    $picen = '';
    $picto = '';
    $pictre = '';
    $url = "http://oksbjerg-byg.dk.linux2.unoeuro.com/oks/produkt/";
    $link = "http://oksbjerg-byg.dk.linux2.unoeuro.com/oks/produktet.php";

    if (isset( $_FILES['pic'] ) && handleFile( 'pic' ))
    {
        $pic = $url . $_FILES['pic']['name'];
    }
   
    if (isset( $_FILES['picstor'] ) && handleFile( 'picstor' ))
    {
        $picstor = $url . $_FILES['picstor']['name'];
    }
   
    if (isset( $_FILES['picen'] ) && handleFile( 'picen' ))
    {
        $picen = $url . $_FILES['picen']['name'];
    }
   
    if (isset( $_FILES['picto'] ) && handleFile( 'picto' ))
    {
        $picto = $url . $_FILES['picto']['name'];
    }
   
    if (isset( $_FILES['pictre'] ) && handleFile( 'pictre' ))
    {
        $pictre = $url . $_FILES['pictre']['name'];
    }

    $sql = "
        INSERT INTO
            produkt
        (
            top
            ,pic
            ,tekst
            ,picstor
            ,picen
            ,picto
            ,pictre
            ,$link
        )
        VALUES
        (
            '$_POST[top]'
            ,'$pic'
            ,'$_POST[tekst]'
            ,'$picstor'
            ,'$picen'
            ,'$picto'
            ,'$pictre'
            ,'$link'
        )
        ";
Avatar billede xeox Nybegynder
08. december 2004 - 16:01 #11
jeg opretter et nyt spg. da det er et nyt spg. faktisk. Du får points når du smidet et svar.

mvh
Avatar billede coderdk Praktikant
08. december 2004 - 16:03 #12
Ok :)
Avatar billede coderdk Praktikant
08. december 2004 - 16:04 #13
Du havde skrevet $link i stedet for link i feltlisten :)

    $sql = "
        INSERT INTO
            produkt
        (
            top
            ,pic
            ,tekst
            ,picstor
            ,picen
            ,picto
            ,pictre
            ,link
        )
        VALUES
        (
            '$_POST[top]'
            ,'$pic'
            ,'$_POST[tekst]'
            ,'$picstor'
            ,'$picen'
            ,'$picto'
            ,'$pictre'
            ,'$link'
        )
        ";
Avatar billede xeox Nybegynder
08. december 2004 - 16:18 #14
Jeps .. det havde jeg ikke lige set hehe !.. mange tak for det...
Avatar billede xeox Nybegynder
08. december 2004 - 16:18 #15
-lukket-
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