Avatar billede addicted Nybegynder
30. november 2005 - 20:12 Der er 8 kommentarer

upload + tekst til database

Jeg har et uploadscript der virker fint, men nu kunne jeg godt tænke mit at sende filnavn/billedurl + noget tekst til en MySql ... jeg har forsøgt mig lidt frem, men da jeg er helt grøn i PhP, går det ikke så godt .... er der nogen der kan hjælpe mig lidt på vej ?

scriptet der sådan ud ...

<?php
$konfiguration["upload_bibliotek"] = $_SERVER["DOCUMENT_ROOT"] ."/upload/";
$konfiguration["max_stoerrelse"] = "1000";

list($major, $minor, $rev) = explode(".", phpversion());
if($major < 4) {
  die("Jeg kan kun arbejde med PHP 4.0.0 eller derover");
}

if($minor < 1) {
  $_FILES = $HTTP_POST_FILES;
  $_POST = $HTTP_POST_VARS;
  $_SERVER = $HTTP_SERVER_VARS;
}

if($_FILES["upfil"]["size"] > 0) {

  $fra = $_FILES["upfil"]["tmp_name"];
  $til = $konfiguration["upload_bibliotek"] . "/" . $_FILES["upfil"]["name"];

  $fil_stoerrelse = filesize($fra)/1024;
  if($fil_stoerrelse > $konfiguration["max_stoerrelse"]) {
      die("Desv&aelig;rre - filen er for stor. Jeg accepterer kun " .
          $konfiguration["max_stoerrelse"] . "kb, og din fil fylder " .
          ceil($fil_stoerrelse) . "kb");
  }
  if(function_exists("move_uploaded_file")) {
    move_uploaded_file($fra, $til);
  } else {
    copy($fra, $til);
  }

header("Location: " . $_SERVER["PHP_SELF"]);
  exit;

} else {

}

$tekst = $_REQUEST["tekst"];            //den del der ikke virker, starter her !!
$fil = $_REQUEST["upfil"]["name"];

$db = mysql_connect("localhost", "xxx", "xxx") or die(mysql_error());
mysql_select_db("xxx", $db) or die(mysql_error());
if ($skriv){
$tekst = str_replace("\n", "<BR>",$tekst);
mysql_query("INSERT INTO galleritabel (id, tekst, fil) values (0, '$tekst', '$fil')") or die(mysql_error());
}                            //den del der ikke virker slutter her
?>
<form action="galleri-redigering.php" method="post" enctype="multipart/form-data">         
  <table border="1" cellpadding="5" cellspacing="0" bordercolor="#000000" bgcolor="#FFFFFF">
    <tr>
      <td align="right" bgcolor="#FFFFFF"><div align="left"><strong>Tekst:
          <input name="skriv" type="hidden" id="skriv" value="1">
          </strong></div></td>
      <td bgcolor="#FFFFFF"><input name="tekst" type="text" id="tekst"></td>
    </tr>
    <tr>
      <td align="right" bgcolor="#FFFFFF"><b>Billed til upload:</b></td>
      <td bgcolor="#FFFFFF"> <input type="file" name="upfil" /> </td>
    </tr>
    <tr bgcolor="#FFFFFF">
      <td colspan="2" align="middle"> <input type="submit" value="upload" /> </td>
    </tr>
  </table>
              </form>
<table width="400" border="0" cellpadding="0" cellspacing="0" bordercolor="#FFFFFF" bgcolor="#FFFFFF">
  <tr>
    <td>   
    <?php
function listFiler($bibliotek,$url) {
  if($bib = @opendir($bibliotek)) {
        while (false !== ($fil = readdir($bib))) {
      if($fil != "." && $fil != ".." && !ereg("^\..+", $fil)) {
          $fil_liste[] = "<a href=\"$url/$fil\">$fil</a>";
      }
    }
    closedir($bib);

    if(is_array($fil_liste)) {
      $liste = "<li>" . join("</li><li>", $fil_liste) . "</li>";
    } else {
      $liste = "<li>Ingen filer p&aring; lager</li>";
    }
    return "<h2>Billeder p&aring; lager:</h2><ul>" . $liste . "</ul>";
  } else {
    die("Kunne ikke &aring;bne biblioteket: " . $bibliotek);
  }

}

echo listFiler ($_SERVER["DOCUMENT_ROOT"] ."/upload/","/upload/");

?>
    </td>
  </tr>
</table>

På forhånd tak :-)
Avatar billede jakobdo Ekspert
30. november 2005 - 20:15 #1
Har du udbygget din upload form, så alle ønskede felter er der?
Du har jo allerede noget mysql inde i din kode, så det er små tiltag som skal rettes til!
Så skulle det spille! :o)

Har du evt et link til din side?
Avatar billede addicted Nybegynder
30. november 2005 - 20:31 #2
min upload form skulle gerne være med i scriptet der. Jeg ville gerne give dig et link, men jeg bruger htaccess, der hvor uploadsiden er. Men alt skulle gerne være i scriptet .... jeg har taget alt mellem <body> og </body>
Avatar billede addicted Nybegynder
30. november 2005 - 20:37 #3
bare for god ordens skyld ser min database ud ... like this...

CREATE TABLE `galleritabel` (
  `id` tinyint(4) NOT NULL auto_increment,
  `tekst` text NOT NULL,
  `fil` tinytext NOT NULL,
  PRIMARY KEY  (`id`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;
Avatar billede jakobdo Ekspert
30. november 2005 - 22:46 #4
Ok, du har formen, du har tabellen, hvad er problemet så? :o)
Brugte du også mysql inden du ville tilføje tekst?
Eller det er måske hele humlen?
Avatar billede addicted Nybegynder
30. november 2005 - 22:55 #5
det er hele humlen. Jeg har indsat to //felter. Det er imellem de to felter at jeg har lavet koden. Og så har jeg selvfølgelig tilføjet noget til form'en. Uploadet til dir, går fint, men der kommer bare ikke noget i databasen, og den fejlmeddelelse der kommer, kom også før..... jeg prøver lige at finde den.
Avatar billede addicted Nybegynder
30. november 2005 - 22:56 #6
Warning: Cannot modify header information - headers already sent by (output started at /customers/finitex.dk/finitex.dk/httpd.www/redigering/galleri-redigering/galleri-redigering.php:9) in /customers/finitex.dk/finitex.dk/httpd.www/redigering/galleri-redigering/galleri-redigering.php on line 60
Avatar billede jakobdo Ekspert
01. december 2005 - 07:54 #7
if($_FILES["upfil"]["size"] > 0)
{
    $fra = $_FILES["upfil"]["tmp_name"];
    $til = $konfiguration["upload_bibliotek"] . "/" . $_FILES["upfil"]["name"];

    $fil_stoerrelse = filesize($fra)/1024;
    if($fil_stoerrelse > $konfiguration["max_stoerrelse"])
    {
        die("Desv&aelig;rre - filen er for stor. Jeg accepterer kun " .
            $konfiguration["max_stoerrelse"] . "kb, og din fil fylder " .
            ceil($fil_stoerrelse) . "kb");
  }
 
  if(function_exists("move_uploaded_file"))
  {
        move_uploaded_file($fra, $til);
  }
  else
  {
        copy($fra, $til);
  }

    //HER SMIDER DU BRUGERE TILBAGE TIL SIG SELV, EFTER UPLOAD AF FILEN.
    //Du skal tilføje dine SQL-kald her...

    header("Location: " . $_SERVER["PHP_SELF"]);
  exit;

}
else
{

}
Avatar billede addicted Nybegynder
01. december 2005 - 08:17 #8
Det prøver jeg lige at arbejde lidt med. Men jeg skal arbejde langt hjemmefra de næste 4 dage, så jeg får først set på det søndag aften ....
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