Avatar billede sabumnim Novice
04. september 2010 - 11:35 Der er 6 kommentarer og
1 løsning

Billed upload virker men....

Hej alle

Jeg har et spørgsmål som jeg håber I kan hjælpe med.

Har et upload script som allerede virker, lige bortset fra en lille mini ting.
Jeg vil gerne have at brugeren samtidig med at han uploader et billeder også kan skrive en lille billedtekst (en caption) da billederne fremvises via lightbox.

Mit problem er at indholdet smides op i min DB og altpå nær min caption kommer med....?
_____________________________
<?php
require_once ('../strings.php');
//Dette script laver en thumb:
// forudsætter det er jpg billeder du bruger
$file=$_FILES['file']['name'];
//$file="Dit Billede"; // laves selvfølgelig som en variabel, fx fra $_FILES['img']['name']
$dir="../galleries/";
$thumbdir="$dir/thumbs";

    // If files sætning
    if($_FILES[file]['name']!=""){
    // Bemærk at !== ikke er tilgængelig før 4.0.0-RC2
    $filename=$dir."/".$file;
    $thumb=$thumbdir."/thumb_{$file}";
    move_uploaded_file($_FILES['file']['tmp_name'], $filename);

    // Set de nye dimensiooner på thumben
    list($width, $height) = getimagesize($filename);
    $new_height = 90;
    $division = $height / $new_height;
    $new_width = $width / $division;
 
 
    if($new_width>0 && $new_height>0) {
        // lav thumben
        $image_p = imagecreatetruecolor($new_width, $new_height);
        $image = imagecreatefromjpeg($filename);
        imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
        // Output af thumben
        imagejpeg($image_p, $thumb);
        }
      //If files sætning afsluttes
   
          // Indsæt i DB
        $data_sql=sprintf("INSERT INTO picgallery (gh_id,stortpic,lillepic,caption) VALUES ('%s', '%s', '%s', '%s')", $caption, $file, "thumb_{$file}", $gh_id);
        mysql_select_db("golf_jacobi_dk", $db);
        $Result1 = mysql_query($data_sql, $db) or die(mysql_error());
        echo "Billedet uploadet og info lagt i databasen";
    }
?>

<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post" enctype="multipart/form-data" name="form1">
<p>
Billedefil:  <input type="file" id="file" name="file" />
</p>
<p>
Caption:  <input type="text" id="caption" name="caption" />
</p>
<p>
<input type="submit" name="Submit" value="send" />
</p>
</form>
_____________________________

Min MySql kode ser sådan ud:
----------------------------

CREATE TABLE `picgallery` (
  `id` int(11) NOT NULL auto_increment,
  `gh_id` int(11) NOT NULL,
  `stortpic` tinytext collate utf8_bin NOT NULL,
  `lillepic` tinytext collate utf8_bin NOT NULL,
  `caption` tinytext collate utf8_bin NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM;
----------------------------

Kan I hjælpe, for jeg kan simpelthen ikke finde problemet. Har kaldt mit tekstfelt til caption for name="caption" og endda sat det samme på bare med id="caption" men der kommer intet ind i min MySql DB?

//Carsten
Avatar billede ggxdg Nybegynder
04. september 2010 - 12:07 #1

$data_sql=sprintf("INSERT INTO picgallery
(gh_id,    stortpic, lillepic,        caption) VALUES
('%s',    '%s',    '%s',            '%s')",
$caption,  $file,    "thumb_{$file}",  $gh_id);



prøv med:

$data_sql=sprintf("INSERT INTO picgallery
(gh_id,    stortpic, lillepic,        caption) VALUES
('%s',    '%s',    '%s',            '%s')",
$gh_id,    $file,    "thumb_{$file}",  $caption);


du kan lige slette whitespaces og linebreaks, det er bare for at gøre problemet lidt tydligere :)
Avatar billede sabumnim Novice
04. september 2010 - 12:16 #2
Hej ggxdg

Det virker desværre ikke...

Der kommer fint besked tilbage om at der er lagt indhold i DB, men den smider stadig ikke min caption ind ?

//Carsten
Avatar billede majbom Novice
05. september 2010 - 08:06 #3
$data_sql="INSERT INTO picgallery (gh_id,stortpic,lillepic,caption) VALUES ('".$gh_id."', '".$file."', 'thumb_".$file."', '".$caption."')";


hvis det ikke virker, må din caption-variabel være tom...
Avatar billede Slettet bruger
05. september 2010 - 08:08 #4
Prøv at indsætte følgende over linijen med "//Indsæt i DB":

$caption = $_POST["caption"];
Avatar billede sabumnim Novice
05. september 2010 - 09:53 #5
Hej Zeska

Det var lige hvad der skulle til, tak for den løsning.

Jeg har tildelt dig pointene for dit svar.

Skønt :0)

//Carsten
Avatar billede Slettet bruger
05. september 2010 - 10:21 #6
Kun glad for at kunne hjælpe.
Avatar billede majbom Novice
05. september 2010 - 11:48 #7
ha! den havde jeg sq overset...
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