webForumDet fria alternativet

Kan inte connecta mysql?!

61 svar · 1 385 visningar · startad av crisse6 · sida 2 av 4

crisse6Medlem sedan dec. 20002 526 inlägg
#21

hehe... nej, tanken är den att querystringen hämtar ut ett visst id säg 1 då, 1 i db'n har ju en sökväg till en fil, men den kommer inte så långt.... den vill liksom ladda ner dokumentet download.php

bzktMedlem sedan juli 200431 inlägg
#22

Kod tack :)

crisse6Medlem sedan dec. 20002 526 inlägg
#23

Löste det hela... ;) Eller nu när detta skript gäller framförallt bilder... men verkar ha ett annat problem nu, när jag ska ladda upp själva filerna, inga felmess, men den fil man laddar upp finns inte med i "listan"... skumt? Koden har ni här:

<html>
<head>
<title>Ladda upp filer</title>
</head>
<body>
<?php

if (isset($_FILES['fildata'])) {
if (is_uploaded_file($_FILES['fildata']['tmp_name'])) {
if (empty($_POST['besk']))
$besk = "Ingen beskrivning...";
	else
$besk = $_POST['besk'];
$dbh = @mysql_connect ("localhost","root","")
	or die ("Gick inte att ansluta!");
mysql_select_db ("filer");
$filnamn = $_FILES['fildata']['name'];
$filtyp = $_FILES['fildata']['type'];
$filstorlek = $_FILES['fildata']['size'];

$fildata = addslashes(fread(fopen($_FILES['fildata']['tmp_name'],"rb"), filesize($_FILES['fildata']['tmp_name'])));

$sql = "INSERT INTO t_filer (filnamn, filtyp, filstorlek, fildata, besk)";
$sql .= " VALUES ('$filnamn','$filtyp','$filstorlek','$fildata','$besk')";
	mysql_query($sql);

$fil_id = mysql_insert_id();

echo "<h3>Filen fick ID $fil_id</h3><br>";
mysql_close();
}
}
echo "<h2>Filer i databasen</h2>\n";
$dbh = @mysql_connect("localhost","root","")
	or die ("Kunde inte ansluta mot databasen!");

mysql_select_db("filer");
$sql = "Select fid, filnamn, filtyp, filstorlek, besk FROM t_filer";
$result = mysql_query($sql);
echo "<table border=0>\n";
echo "<tr bgcolor=#EFEFEF><td>Filnamn</td><td>Filtyp</td><td>Filstorlek</td><td>Beskrivning</td><tr>\n";
while ($rad=mysql_fetch_array($result)) {
echo "<tr bgcolor=FFFFFF>\n";
echo "<td><a href=download.php?fid=$rad[1]>$rad[1]</a></td>";
echo "<td>$rad[2]</td><td>$rad[3]</td><td>$rad[4]</td>\n";
echo "</tr>\n";
}
echo "</table>\n";
mysql_close();

?>

<h2>Ladda upp valfri fil</h2>
<form action="<?=$PHP_SELF?>" method="post" enctype="multipart/form-data">
Välj fil<br>
<input type="file" name="fildata"><br>
Beskriv filen<br>
<input type="text" name="besk"><br>
<br>
<input type="submit" value="Ladda upp filjäveln!">
</form>
</body>
</html>
bzktMedlem sedan juli 200431 inlägg
#24

Finns den med i databasen eller skrivs den bara inte ut?

crisse6Medlem sedan dec. 20002 526 inlägg
#25

Finns ej med i databasen!

bzktMedlem sedan juli 200431 inlägg
#26
mysql_query($sql);

Ändra den till:

mysql_query($sql) or die("Någonting är knas med SQL-satsen");

Så ser du om den ens kommer dit och om den fungerar eller om dina if-satser innan "förstör".

crisse6Medlem sedan dec. 20002 526 inlägg
#27

nix. får inte nåt mess :(

bzktMedlem sedan juli 200431 inlägg
#28

Då är det dina if-satser som avbryter innan du hinner komma till delen där den lägger till i databasen.

crisse6Medlem sedan dec. 20002 526 inlägg
#29

neeeeeeeeeeeeeeeeee, vart har jag gjort fel guys?

bzktMedlem sedan juli 200431 inlägg
#30

Min gissning är denna raden:

if (isset($_FILES['fildata'])) {

Testa något i stil med:

if (!empty($_FILES['fildata']['name'])) {

Bara ett enkelt 'ful'-exempel.

crisse6Medlem sedan dec. 20002 526 inlägg
#31

Du, nu blir det ingen skillnad :P Usch usch.... what's goin on??? Försök igen, jätte tacksam!

bzktMedlem sedan juli 200431 inlägg
#32
<html>
<head>
<title>Ladda upp filer</title>
</head>
<body>
<?php

if (!empty($_GET['action'])) {
if (is_uploaded_file($_FILES['fildata']['tmp_name'])) {
if (empty($_POST['besk']))
$besk = "Ingen beskrivning...";
    else
$besk = $_POST['besk'];
$dbh = @mysql_connect ("localhost","root","")
    or die ("Gick inte att ansluta!");
mysql_select_db ("filer");
$filnamn = $_FILES['fildata']['name'];
$filtyp = $_FILES['fildata']['type'];
$filstorlek = $_FILES['fildata']['size'];

$fildata = addslashes(fread(fopen($_FILES['fildata']['tmp_name'],"rb"), filesize($_FILES['fildata']['tmp_name'])));

$sql = "INSERT INTO t_filer (filnamn, filtyp, filstorlek, fildata, besk)";
$sql .= " VALUES ('$filnamn','$filtyp','$filstorlek','$fildata','$besk')";
    mysql_query($sql);

$fil_id = mysql_insert_id();

echo "<h3>Filen fick ID $fil_id</h3><br>";
mysql_close();
}
}
echo "<h2>Filer i databasen</h2>\n";
$dbh = @mysql_connect("localhost","root","")
    or die ("Kunde inte ansluta mot databasen!");

mysql_select_db("filer");
$sql = "Select fid, filnamn, filtyp, filstorlek, besk FROM t_filer";
$result = mysql_query($sql);
echo "<table border=0>\n";
echo "<tr bgcolor=#EFEFEF><td>Filnamn</td><td>Filtyp</td><td>Filstorlek</td><td>Beskrivning</td><tr>\n";
while ($rad=mysql_fetch_array($result)) {
echo "<tr bgcolor=FFFFFF>\n";
echo "<td><a href=download.php?fid=$rad[1]>$rad[1]</a></td>";
echo "<td>$rad[2]</td><td>$rad[3]</td><td>$rad[4]</td>\n";
echo "</tr>\n";
}
echo "</table>\n";
mysql_close();

?>

<h2>Ladda upp valfri fil</h2>
<form action="?action=upload" method="post" enctype="multipart/form-data">
Välj fil<br>
<input type="file" name="fildata"><br>
Beskriv filen<br>
<input type="text" name="besk"><br>
<br>
<input type="submit" value="Ladda upp filjäveln!">
</form>
</body>
</html>
bzktMedlem sedan juli 200431 inlägg
#33

Jag går på lunch nu, är tillbaka om ~1h
Tungt att jobba :D

crisse6Medlem sedan dec. 20002 526 inlägg
#34

Icke icke... hehe, käka du så du får nya krafter för det blev tyvärr ingen skillnad :(

bzktMedlem sedan juli 200431 inlägg
#35

Ta bort den här if-satsen

if (is_uploaded_file($_FILES['fildata']['tmp_name']))
crisse6Medlem sedan dec. 20002 526 inlägg
#36

Hmm... fick felmess då...

Parse error: parse error, unexpected T_ELSE in C:\www\uppladdning\upload.php on line 12

med följande kod:

<?php

if (!empty($_GET['action'])) {

if (empty($_POST['besk'])) {
$besk = "Ingen beskrivning...";
    else
$besk = $_POST['besk'];
$dbh = @mysql_connect ("localhost","root","")
    or die ("Gick inte att ansluta!");
mysql_select_db ("filer");
$filnamn = $_FILES['fildata']['name'];
$filtyp = $_FILES['fildata']['type'];
$filstorlek = $_FILES['fildata']['size'];

$fildata = addslashes(fread(fopen($_FILES['fildata']['tmp_name'],"rb"), filesize($_FILES['fildata']['tmp_name'])));

$sql = "INSERT INTO t_filer (filnamn, filtyp, filstorlek, fildata, besk)";
$sql .= " VALUES ('$filnamn','$filtyp','$filstorlek','$fildata','$besk')";
    mysql_query($sql);

$fil_id = mysql_insert_id();

echo "<h3>Filen fick ID $fil_id</h3><br>";
mysql_close();
}
}
echo "<h2>Filer i databasen</h2>\n";
$dbh = @mysql_connect("localhost","root","")
    or die ("Kunde inte ansluta mot databasen!");

mysql_select_db("filer");
$sql = "Select fid, filnamn, filtyp, filstorlek, besk FROM t_filer";
$result = mysql_query($sql);
echo "<table border=0>\n";
echo "<tr bgcolor=#EFEFEF><td>Filnamn</td><td>Filtyp</td><td>Filstorlek</td><td>Beskrivning</td><tr>\n";
while ($rad=mysql_fetch_array($result)) {
echo "<tr bgcolor=FFFFFF>\n";
echo "<td><a href=download.php?fid=$rad[1]>$rad[1]</a></td>";
echo "<td>$rad[2]</td><td>$rad[3]</td><td>$rad[4]</td>\n";
echo "</tr>\n";
}
echo "</table>\n";
mysql_close();

?>
PeddaMedlem sedan juni 20006 032 inlägg
#37

Testa med "måsvingarna" runt else.
Rad 12:
} else {

bzktMedlem sedan juli 200431 inlägg
#38

Du måste ta bort } här:

mysql_close();
}
crisse6Medlem sedan dec. 20002 526 inlägg
#39

Okej, la till { } runt else, och tog sen bort där vid mysql_close()

får då ett felmess om rad 64; som är raden efter </html> så det där är mkt skumt... förstår inte varför jag skulle ha {} runt else???

GeinMedlem sedan sep. 20005 700 inlägg
#40

du ska inte ha {} runt snarare }{
En if-sats skriver du vanligen som
if(uttryck)
{

}else{

}

Dvs, du måste ha måsvingar för att definiera de block som tillhör if respektive else.

137 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)