Avatar billede master_nemo Nybegynder
15. januar 2007 - 05:50 Der er 11 kommentarer og
1 løsning

Upload script/MySQL problemer

Okay altså problemet ligger I at jeg gerne vil uploade et billede sammen med nogle produktinformationer, så det hele ligger lige til at rive ud a sql db.

1. problem opstår da jeg ikke heler ved hvordan jeg skal bære mig an med at lave en form som både sender produktinformation til db(incl sti til billedet på serveren) og derudover uploader billedet til den destination.

Koden so far:

(jeg er lidt rusten så det er sku nok lidt hæsligt pt.)

<form action="indtastNB.php" method="post" enctype="multipart/form-data">
                                          <font color="000000" face="verdana" size="1">Header:</font><br />
                                          <input type="text" name="Navn">
                                          <br />
                                          <font color="000000" face="verdana" size="1">Text:</font><br />
                                          <textarea name="Info" cols="20" rows="4"></textarea>
                                          <br />
                                          <font color="000000" face="verdana" size="1">name</font><br />
                                          <input type="text" name="Pris" >
                                          <br />
                                          <br />
                                          date
 
  <br />
  <input type="text" name="Kvantitet" /><br />
 
  <input type="file" name="imgfile">
  <br />
  <input type="submit" value="Submit" name="okay" />
  <a href="inputdipidutDEL.php">slette</a> <a href="index.php">forside</a>
                                        </form>



IndtastNB.php ser således ud:

<a href="index.php">forside</a> <a href="indtastnotebook.php">Tilføje endnu en Notebook</a><?php
$con = mysql_connect("xxxxxx","xxxxxxx","xxxx");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("xxxxx", $con);

$sql="INSERT INTO indtastnotebook (Navn, Info, Pris, imgfile, Kvantitet)
VALUES
('$_POST[Navn]','$_POST[Info]','$_POST[Pris]','$_POST[imgfile]','$_POST[Kvantitet]')";

if (!mysql_query($sql,$con))
  {
  die('Error: ' . mysql_error());
  }
echo "tilføjet";

mysql_close($con)
?>


Som I kan se har jeg prøvet at få den til at sætte sti'en ind i db men uden held og nu når jeg tænker over det ville den nok bare sætte sti'en på min egen computer ind i den row.

SO! any help welcome :)
Mucho point up for grabs
Avatar billede master_nemo Nybegynder
15. januar 2007 - 05:52 #1
DOH!skrev 0 point i felt><
der er selfølgelig en masse(så mange som muligt) point til hvem end der svarer :)
Avatar billede hoeks Nybegynder
15. januar 2007 - 07:57 #2
står og mangler lige samme funktion, så følger lige med ;P
Avatar billede snowball Novice
15. januar 2007 - 08:32 #3
master_nemo: Du kan blot hæve antallet af point - se http://www.expfaq.dk/tildel_flere_point#tildel_flere_point :)
Avatar billede danieru Nybegynder
15. januar 2007 - 08:33 #4
(fandt du selv svaret?)
(Så tager du vel bare points? :o))
Avatar billede coderdk Praktikant
15. januar 2007 - 09:14 #5
Prøv:

<form action="indtastNB.php" method="post" enctype="multipart/form-data">
    Header:<br>
    <input type="text" name="Navn">
    <br>
    Text:<br>
    <textarea name="Info" cols="20" rows="4"></textarea>
    <br>
    name<br>
    <input type="text" name="Pris" >
    <br>
    <br>
    date
    <br>
    <input type="text" name="Kvantitet"><br>
    <input type="file" name="imgfile">
    <br>
    <input type="submit" value="Submit" name="okay">
    <a href="inputdipidutDEL.php">slette</a> <a href="index.php">forside</a>
</form>



IndtastNB.php:

<a href="index.php">forside</a> <a href="indtastnotebook.php">Tilføje endnu en Notebook</a><?php


$BILLEDMAPPE = "billeder/"; // ÆNDR! HUSK / TIL SLUT
// Mappen skal være skrivbar for serveren (have 777 i permissions, i.e. CHMOD)

if ( !file_exists( substr( $BILLEDMAPPE, 0, -1 ) )
    || !is_writable( $BILLEDMAPPE, 0, -1 ) )
{
    die( "KAN IKKE SKRIVE TIL $BILLEDMAPPE!" );
}

$con = mysql_connect("xxxxxx","xxxxxxx","xxxx");
if (!$con)
{
    die('Could not connect: ' . mysql_error());
}

mysql_select_db("xxxxx", $con);

$fil = "";
if ( preg_match("#^image/#",$_FILES['imgfile']['type']) && is_uploaded_file( $_FILES['imgfile']['tmp_name'] ) )
{
    $fil = $BILLEDMAPPE . $_FILES['imgfile']['name'];
    if ( !move_uploaded_file( $_FILES['imgfile']['tmp_name'], $fil ) )
    {
        $fil = "";
    }
}

$sql="INSERT INTO indtastnotebook (Navn, Info, Pris, imgfile, Kvantitet)
VALUES
('$_POST[Navn]','$_POST[Info]','$_POST[Pris]','$fil','$_POST[Kvantitet]')";

if (!mysql_query($sql,$con))
  {
  die('Error: ' . mysql_error());
  }
echo "tilføjet";

mysql_close($con)
?>

Du blander i øvrigt XHTML og HTML, og bruger <font> som ikke er i nogen [relevant] HTML-specifikation ;) brug evt <span style="font-family: verdana">hej</span> osv...
Avatar billede master_nemo Nybegynder
15. januar 2007 - 15:27 #6
Tak coderdk, det med font det ved jeg - har brugt noget ældgammel kode det skal lige refreshes :)
Avatar billede coderdk Praktikant
15. januar 2007 - 15:28 #7
Ok :) Du får lige et svar, hvis du kunne bruge det :)
Avatar billede master_nemo Nybegynder
15. januar 2007 - 15:59 #8
Ok det her er lidt wierd
Inde i folderen hvor filerne ligger i har jeg lavet folderen images(777 self.)
når jeg bare skriver $BILLEDMAPPE = "images/"; får jeg
Warning: Wrong parameter count for is_writable() in /usr/home/web/xxxx/test/Admin/indtastNB.php on line 9
KAN IKKE SKRIVE TIL images/!

når jeg så prøver test/Admin/images/ får jeg ikke fejlen men den vil stadig ikke skrive til images foldere ... pretty wierd
Avatar billede coderdk Praktikant
15. januar 2007 - 16:07 #9
Bah! My bad! Lav:

if ( !file_exists( substr( $BILLEDMAPPE, 0, -1 ) )
    || !is_writable( $BILLEDMAPPE, 0, -1 ) )

om til:

if ( !file_exists( $BILLEDMAPPE )
    || !is_writable( $BILLEDMAPPE ) )

Fejlen var at is_writable ikke havde den substr (som vist ikke er nødvendig...)
Avatar billede master_nemo Nybegynder
15. januar 2007 - 16:27 #10
It works! takker :)
Avatar billede hoeks Nybegynder
16. januar 2007 - 02:05 #11
Er det et script/system man må få gratis ?... Står nemlig selv og mangler noget i den stil.
Avatar billede master_nemo Nybegynder
16. januar 2007 - 05:58 #12
det hele står der nu men hvis du har nogle spørgsmål så vil jeg da godt prøve at svare eller du ka oprette et spørgsmål her på eksperten, men bare ta for dig :)
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

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