Avatar billede mr-xmas Nybegynder
27. marts 2006 - 18:42 Der er 7 kommentarer og
1 løsning

problem med uploadsystem med mysql

Hejsa

jeg har et upload system det virker fint bare jeg ikke kan finde ud af at få lavet den til at smække navnet på billedet ind i mysql

min kode ser sådan ud:

<?php
session_start();
function alert() {
if(isset($_SESSION["besked"])) {
echo" onload=\"alert('". htmlentities($_SESSION["besked"]) ."');\"";
unset($_SESSION["besked"]);
}else{
echo"";
}
}

// ca. Kb må billedet fylde
$kb = 200;

// min. bredde og højde (minimum???)
$minw = 100;
$minh = 60;

// Det dir som der skal uploades til, med skråstreger
$galleridir = "/privat/arto/bg/";

// Fuld sti til galleridir
$moveto = $_SERVER["DOCUMENT_ROOT"] . $galleridir;

// Hvor sendes man hen efter upload?
$redir = $_SERVER["PHP_SELF"];

if (isset($_FILES["upfile"])) {

// Array med fejlbeskeder sat med $_FILES["upfile"]["error"]
$arg = array(1 => "Filen er større end tilladt upload i php.ini", 2 => "Filen er større end ". round(($kb*1024)/1000) ." Kb", 3 => "Sorry, men kun en del af filen blev uploadet", 4 => "Vælg en fil til upload!");

// Array med filtyper, til brug for det endelige filnavn
$filetypes = array(1 => "gif", 2 => "jpg", 3 => "png");


    if($_FILES["upfile"]["error"] > 0) {
    $_SESSION["besked"] = strtr($_FILES["upfile"]["error"], $arg);
    header("Location:". $redir ."");
    exit();
    }

    if($_FILES["upfile"]["size"] > ($kb*1024)) {
    $_SESSION["besked"] = "Filen er for stor til upload!!!";
    header("Location:". $redir ."");
    exit();
    }

    if(false == ($str = getimagesize($_FILES["upfile"]["tmp_name"]))) {
    $_SESSION["besked"] = "Valgte fil til upload er ikke en billedfil!!!";
    header("Location:". $redir ."");
    exit();
    }

    if($str[2] > 3) {
    $_SESSION["besked"] = "Kun gif, jpg og png filer kan uploades!!!";
    header("Location:". $redir ."");
    exit();
    }

    if($str[0] < $minw) {
    $_SESSION["besked"] = "Billedet er under ". $minw ." px. i bredden!";
    header("Location:". $redir ."");
    exit();
    }

    if($str[1] < $minh) {
    $_SESSION["besked"] = "Billedet er under ". $minh ." px. i højden!";
    header("Location:". $redir ."");
    exit();
    }

    // FILNAVN UDEN FILTYPE
    $newname = time() ."_". rand(1000, 9999);

    // FILTYPEN
    $filtypen = strtr($str[2], $filetypes);

    $upname = $newname .".". $filtypen;

    if(move_uploaded_file($_FILES["upfile"]["tmp_name"], $moveto . $upname)) {
    $_SESSION["besked"] = "Billedet er blevet uploadet!";
    require("config.php");
    mysql_query("insert into artobg (upname) values ('$upname')");
    }else{
    $_SESSION["besked"] = "Billedet kunne desværre ikke flyttes!";
    }

    header("Location:". $redir ."");
    exit();

}
?>

<html><head><title>Billede upload</title>

</head>

<body<?php alert(); ?>>

<?php

if(!is_dir($moveto)) {
echo"Dir som fil skal flyttes til eksisterer ikke!!!";
}else{
?>
<form action="?side=arto/opret_bg.php" method="post" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="<?php echo($kb*1024); ?>">
<br>
Billedet:<br>
<input name="upfile" type="file" size="32"><br>
<input type="submit" value="Upload">
</form>

<?php
}
?>


</body></html>
Avatar billede erikjacobsen Ekspert
27. marts 2006 - 18:54 #1
Du kan jo starte med at tjekke:      mysql_query("insert into artobg (upname) values ('$upname')") or die(mysql_error());
Avatar billede mr-xmas Nybegynder
27. marts 2006 - 19:05 #2
den skriver
Warning: mysql_query(): Access denied for user: 'mr-xmas.dk@localhost' (Using password: NO) in /customers/mr-xmas.dk/mr-xmas.dk/httpd.www/privat/arto/opret_bg.php on line 84

Warning: mysql_query(): A link to the server could not be established in /customers/mr-xmas.dk/mr-xmas.dk/httpd.www/privat/arto/opret_bg.php on line 84
Access denied for user: 'mr-xmas.dk@localhost' (Using password: NO)
Avatar billede erikjacobsen Ekspert
27. marts 2006 - 19:12 #3
Lyder som om du ikke har forbundet dig til databasen. Hvad står der i    require("config.php");
Avatar billede mr-xmas Nybegynder
27. marts 2006 - 19:16 #4
heh ups det var mig der havde kludret manglede at sætte noget ind i koden til den kunne connect :)

nu sætter den ind men den skriver stadig
Warning: Cannot modify header information - headers already sent by (output started at /customers/mr-xmas.dk/mr-xmas.dk/httpd.www/privat/arto/config.php:9) in /customers/mr-xmas.dk/mr-xmas.dk/httpd.www/privat/arto/opret_bg.php on line 91
Avatar billede erikjacobsen Ekspert
27. marts 2006 - 19:25 #5
Du må ikke have tomme linier og lignende i din config.php
Avatar billede mr-xmas Nybegynder
27. marts 2006 - 19:55 #6
tak
du må sende et svar :)
Avatar billede erikjacobsen Ekspert
27. marts 2006 - 19:58 #7
Jeg samler slet ikke på point, tak.
Avatar billede mr-xmas Nybegynder
27. marts 2006 - 20:10 #8
okay så godkender jeg mig selv

mange tak for hjælpen :D
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