Avatar billede noodrem Nybegynder
03. marts 2004 - 20:18 Der er 7 kommentarer og
1 løsning

Problemer med script!

Hej

Jeg har lavet følg script, til at folk kan oploade filer til min server, og derefter få dem vist.

<html>
<head>
  <title>Upload</title>
</head>
<body>

<?

$fil = $_FILES['fil'];

$filesize = filesize($fil) / 1024;
$max = 10;
$dato = date("d-m-Y k\l. H:i");
$time = date("k\l. H:i");
$submit = $_REQUEST['submit'];

if(!isset($submit)) {
  echo "";
} elseif(!isset($fil)) {
  echo "Du har ikke valgt nogen fil at oploade";
} elseif($filesize > $max {
  echo "Din fil fylder " . $filesize . " kb Maximum er" . $max;
} else {
  mysql_connect('localhost', 'root')
    or die('Mysql error');
  mysql_select_db('news')
    or die('Mysql error');
 
    $query = 'insert into filer (uploads, dato) VALUES ('$fil', '$dato');
    $result = mysql_query($query)
    or die('Error i: $query');

    echo "Din fil blev oploadet, $time";
   
}

echo "<ol>";
$query_number = 'select uploads from news';
$result = mysql_query($query_number) or die('Kunne ikke udføre: $query_number');
$number = mysql_num_rows($result);
if($number < 1) {
echo "<h3>Der er ikke oploadet nogle filer</h3>";
} else {
$array_uploads = mysql_fetch_assoc($result);
while($row = $array_uploads) {
  $dato = $row['dato'];
  $fil = $row['fil'];
  echo "<li>Fil:  $fil - Uploadet kl $dato</li>";
}
echo "</ol>";

?>

<form action="<? $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data">
<b>Vælg den fil du vil uploade</b><p />
<input type="file" name="fil"><p />
<input type="submit" name="submit" value="Upload">
</form>
 
</body>
</html>
 
Mit problem er bare at når jeg tester den i min browser får jeg denne fejlmedd:


Parse error: parse error, unexpected T_ECHO in /home/mikkel/webs/Upload/upload.php on line 22

Hvorfor?
Avatar billede gil-galad Nybegynder
03. marts 2004 - 20:24 #1
du mangler at afsltte linje 22...
sådan skal linie 22 se ud:

  echo "Din fil fylder " . $filesize . " kb Maximum er" . $max";
Avatar billede gil-galad Nybegynder
03. marts 2004 - 20:25 #2
øhh... undskyld :-)
Avatar billede noodrem Nybegynder
03. marts 2004 - 20:26 #3
:) den ser da meget afsluttet ud!
Avatar billede gil-galad Nybegynder
03. marts 2004 - 20:27 #4
jeg sagde også undskyld :-)
Avatar billede ljm21 Praktikant
03. marts 2004 - 20:28 #5
elseif($filesize > $max {
  echo "Din fil fylder " . $filesize . " kb Maximum er" . $max;
} else {

Du mangler en slutparantes på første linie herover

Lars
Avatar billede Slettet bruger
03. marts 2004 - 21:33 #6
Denne linie er forkert:

$query = 'insert into filer (uploads, dato) VALUES ('$fil', '$dato');

Ret til:

$query = "insert into filer (uploads, dato) VALUES ('$fil', '$dato')";

Og die('Error i: $query'); vil det nok også være smart at rette - måske til
die(mysql_error());

Husk, at når du har ' udenom en streng, så kommer variabelnavnet ind - ikke værdien.
Avatar billede noodrem Nybegynder
03. marts 2004 - 21:42 #7
Skal jeg så rette

$query = 'insert into filer (uploads, dato) VALUES ('$fil', '$dato');

til

$query = "insert into filer (uploads, dato) VALUES ('$fil', $dato)";

Hvis jeg vil have datoen, til at blive sat ind i databasen og ikke date("d-m-Y k\l. H:i");
Avatar billede Slettet bruger
03. marts 2004 - 21:52 #8
Er kolonnen dato i din base af typen DATETIME? (Dette er et ledende spørgsmål)

Hvis ja, så er det smarteste bare at lade MySQL selv udfylde feltet:

$query = "insert into filer (uploads, dato) VALUES ('$fil', NOW())";
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