Avatar billede snakedk Nybegynder
16. april 2007 - 21:27 Der er 19 kommentarer og
1 løsning

Hjælp med php upload kodning.

Hej Eksperter.
Jeg er heelt grøn til det her og har virkelig brug for hjælp..

Nu har jeg sidder i 4 stive timer og kæmpet med to sider i bogen
"lav dit eget cms med dreamweaver 8 og php/mysql"
af heine lennart Christensen

Alt er gået ok indtil nu..

Men nu er jeg ramt på hans upload del og jeg har gjort alt som der står i bogen.
Lavet en database med to felter en billedeid og en billednavn.
og en mappe til mine billeder.

også har jeg som han skriver jeg skal lavet en php koder hvor jeg skal kunne overføre filer til min database/side

Min kode er som følger:

<?php require_once('../Connections/cms.php');
mysql_select_db($database_cms,$cms);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Upload billede.</title>
<link href="css/styles.css" rel="stylesheet" type="text/css" />
<link href="../css/styles.css" rel="stylesheet" type="text/css" />
</head>
<body>

<?php
if (isset($_FILES[`filnavn`])){
  print "fil, der er blivet overført: {$_FILES[`filnavn`][`name`]}<p>\n";

$query = "INSERT INTO billeder SET billednavn=`".$_FILES[`filnavn`][`name`]."`";

  $Result1 = mysql_query($query, $cms) or die(mysql_error());
}
if (isset($_FILES[`filnavn`])){
$tempfile = $_FILES[`filnavn`][`tmp_name`];
$destinaton = "../billeder/{$_FILES[`filnavn`][`name`]} ";
copy($tempfile, $destination);

}

?>
<form action="admin_layout_upload.php" method="post" enctype="multipart/form-data" name="upload" id="upload">
  <p>Fil, der skal overf&oslash;res:
    <lable>
        <input name="filnavn""filnavn" type="file" id="filnavn" />
      </lable>
    <label></label>
  </p>
  <p>
    <input name="save" type="submit" id="save" value="Transfer" />
    </label>
  </p>
</form>
</body>
</html>

Undskyld den lange kode og håber virkelig at der er nogle her der kan hjælpe.
Avatar billede jakobdo Ekspert
16. april 2007 - 21:44 #1
Hvor er din mappe billeder henne?
Er den i samme niveau som din fil: admin_layout_upload.php ?
Og du kunne også overveje at rette: copy() til: move_uploaded_file()
Avatar billede johan.o Nybegynder
16. april 2007 - 22:39 #2
Du skriver ikke noget om hvad der sker..eller ikke sker...får du nogen fejl ? Hvad er problemet...og 'det virker ikke' er ikke særlig beskrivende :)

Mvh. Johan
Avatar billede johan.o Nybegynder
16. april 2007 - 22:49 #3
Her er der vist et eller andet galt..

  print "fil, der er blivet overført: {$_FILES[`filnavn`][`name`]}<p>\n";

<p>-tag'et giver ingen mening her, måske det skulle være..

  print "<p>fil, der er blivet overført: {$_FILES[`filnavn`][`name`]}</p>\n";

Men om det har nogen begrænsende effekt på noget tvivler jeg på :)...

Denne linje..

$destinaton = "../billeder/{$_FILES[`filnavn`][`name`]} ";

skal nok være..

$destination = "../billeder/{$_FILES[`filnavn`][`name`]} ";

istedet...men virker det stadig ikke så prøv at skifte den linje ud med disse..

if(is_dir("../billeder")) {
$destination = "../billeder/{$_FILES[`filnavn`][`name`]} "; }
else {
echo "<p>Der er et problem med dit directory !</p>";
$destination="{$_FILES[`filnavn`][`name`]} "; }

Mvh. Johan
Avatar billede dandyman Nybegynder
17. april 2007 - 07:35 #4
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Upload billede.</title>
<link href="css/styles.css" rel="stylesheet" type="text/css" />
<link href="../css/styles.css" rel="stylesheet" type="text/css" />
</head>
<body>

<?php
if (isset($_FILES['filnavn'])){
  print "fil, der er blivet overført: {$_FILES['filnavn']['name']}<p>\n";

$query = "INSERT INTO billeder SET billednavn='".$_FILES['filnavn']['name']."'";

  $Result1 = mysql_query($query, $cms) or die(mysql_error());
}
if (isset($_FILES['filnavn'])){
$tempfile = $_FILES['filnavn']['tmp_name'];
$destinaton = "../billeder/{$_FILES['filnavn']['name']} ";
copy($tempfile, $destination);

}

?>
<form action="admin_layout_upload.php" method="post" enctype="multipart/form-data" name="upload" id="upload">
  <p>Fil, der skal overf&oslash;res:
    <lable>
        <input name="filnavn""filnavn" type="file" id="filnavn" />
      </lable>
    <label></label>
  </p>
  <p>
    <input name="save" type="submit" id="save" value="Transfer" />
    </label>
  </p>
</form>
</body>
</html>


' istedet for `
Avatar billede snakedk Nybegynder
17. april 2007 - 22:39 #5
Ups.  Det må i undskylde kan godt se at min fejlbeskrivelse er mangel fuld.

Fejlen ligger i at når jeg finder et billede jeg ønsker at overføre til mappen billeder på min server så kan jeg godt sætte det ind i feltet men når jeg trykker transfer eller overføre. Så sker der ingen ting. Den overføre ikke noget og der står heller ik den "print" tekst..

Prøver lige de her små ting førest i har skrevet mange tak..
alle sammen..
Avatar billede snakedk Nybegynder
17. april 2007 - 22:49 #6
hmm nu har jeg prøvete div ting igen.. Kan ik se hvor min fejl er henne af :-(
Det fungre bare ikke..

Kan man læse andre steder hvordan man laver en upload funktion? end lige den her bog.??

Måtte gerne være en der evt skrev hvis der var en fejl eller hvis det virker.

:-(
Avatar billede johan.o Nybegynder
17. april 2007 - 22:56 #7
Jeg syntes der er kommet mange bud på hvad der kunne være galt :), så hvis du har rettet alle de ting der er blevet nævnt kan du jo prøve at vise den kode du har nu og så prøver vi at se om der evt. skulle være andet der springer i øjnene :)

Mvh. Johan
Avatar billede jakobdo Ekspert
18. april 2007 - 07:59 #8
Dette minder lidt om følgende historie:

Det er Microsoft support ingeniør der er blevet genindkald til hæren og han skal jo også på skydebane. Efter at have prøvet nogen gange uden at få markeret nogen træffere tager han riflen og sigter ned i jorden og trykker af. Der bliver en mægtigt hul, hvorefter han råber ned til markørerne: " Der er ikke noget i vejen med mit output så det må være i jeres ende den er gal".
Avatar billede snakedk Nybegynder
19. april 2007 - 22:42 #9
Jakobdo: Hehe... Get the point ;-)

Johan.o: Mange tak :-)  jeg lure lige det igennem igen i morgen med et frisk hovede..
Så prøver jeg at lave den helt om også kigge efter i jeres svar om jeg kan finde fejlen. Men tænkte på den kode:

if(is_dir("../billeder")) {
$destination = "../billeder/{$_FILES[`filnavn`][`name`]} "; }
else {
echo "<p>Der er et problem med dit directory !</p>";
$destination="{$_FILES[`filnavn`][`name`]} "; }

Skal den sættes ind i stedet for.

if (isset($_FILES['filnavn'])){
$tempfile = $_FILES['filnavn']['tmp_name'];
$destinaton = "../billeder/{$_FILES['filnavn']['name']} ";
copy($tempfile, $destination);

Eller under som en ny komando??
Avatar billede johan.o Nybegynder
19. april 2007 - 22:48 #10
Prøv at læse hvad der står i 16/04-2007 22:49:38 .... stille og roligt, så tror jeg du har svaret...du skal kun udskifte den ene linje der snakkes om :)

Mvh. Johan
Avatar billede jakobdo Ekspert
20. april 2007 - 08:28 #11
Ja, jeg tror nu også det er bedst du rette:
$_FILES[`filnavn`][`name`]
til
$_FILES['filnavn']['name']
Avatar billede johan.o Nybegynder
20. april 2007 - 09:58 #12
...he he...ja, jeg mente jo heller ikke at det kun var mine rettelser han skulle bruge :), det var blot til at besvare hans spørgsmål.

Mvh. Johan
Avatar billede snakedk Nybegynder
24. april 2007 - 16:57 #13
Jubii... Nu virker det..

Mange gange tak for hjælpen.. :-)


MMH. Kenneth.
Avatar billede johan.o Nybegynder
24. april 2007 - 22:21 #14
Det var da dejligt, hvem skal tage point og lukke :)

Mvh. Johan
Avatar billede snakedk Nybegynder
25. april 2007 - 21:01 #15
Ved ik hvordan det funger men det må blive til dandyman

med teksten ' i stedet for ´

:-) Men også tak til jer andre i var også en stor hjælp.
Avatar billede snakedk Nybegynder
25. april 2007 - 21:03 #16
Hvordan giver man så point??
Avatar billede snakedk Nybegynder
25. april 2007 - 21:04 #17
Hmm nu står jeg så med et nyt problem i samme kode?? :-(
Kan man ikke sætte det ind i en tabel??
Også stadigt beholde tabelen når den skriver print koden?
Avatar billede jakobdo Ekspert
25. april 2007 - 21:21 #18
Hvad vil du indsætte i tabellen?
Avatar billede snakedk Nybegynder
26. april 2007 - 14:32 #19
Tror det er svært at forklare.
Men prøver..
Prøv at se http://corrado.dk/test/index.php
Det er nogle lunden sådan jeg ønsker at min side skal se ud. har dog lavet en del om på designet siden.
Men det er gund principet...
- På min test siden har jeg lavet "tabeler" hvor en tabel er lavet i 3 rows og 3 col
Hvor der er design i hvert hjørne i form af en kant der "svinger" også i siderne er en "streg" i toppen i bunden og i siderne så midten er fri til tekst..

Min tanke er så at når jeg trykker på mit link til at uploade billeder.
så kommer der en lille ny side frem hvor man uploader fra.
den side skal så ligner "1 tabel" Hvor der er designet hele vejen rundt så det passer sammen med siden i design..

Laver hjemme siden i Dreamweaver 8 og er meget meget ny til det her så stadigt sidder jeg og prøver at samme sætte min viden fra den der bog til noget jeg kan bruge...
( det går så ik så godt desværre.. ) 

Men håber det er forklaret så man forstår bare lidt :*(
Avatar billede pepsiman Juniormester
19. august 2008 - 17:48 #20
hej snakedk

jeg bruger også bogen "lav et eget CMS"

Jeg kan ser at du har løst problem med mappe "billede".. hvordan gør du det?..

du må gerne kommer forbi mit spørgsmål:

http://www.eksperten.dk/spm/841915

Mvh Ole
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