har fått ordning på upload utav filer till databasen samt till specifik användare, nu ska jag lista filen/filerna beroende på vilken användare som är inloggad, så här långt har jag kommit
<?php
ob_start();
session_start();
// Kolla om inloggad = sessionen satt
if (!isset($_SESSION['sess_user'])){
header("Location: index.php");
exit;
}
if (isset($_GET['logout'])){
session_unset();
session_destroy();
header("Location: index.php");
exit;
}
?>
<?php
include "conn.php"; // Databasanslutningen
// Performing SQL query sh
$query = "SELECT * FROM $mem_table WHERE id = ".$_SESSION['sess_id']."";
$result = mysql_query($query) or die('Query failed: ' . mysql_error());
// Printing results in HTML
echo "<p>Den inloggade är<p>";
//echo "$_SESSION['sess_userlevel'];";
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
echo "\t<tr>\n";
foreach ($line as $col_value) {
echo "\t\t<td>$col_value</td>\n";
}
echo "\t</tr>\n";
//echo "test $sess_userlevel";
}
echo "</table>\n";
// Free resultset
mysql_free_result($result);
?>
<?
// include 'library/config.php';
// include 'library/opendb.php';
//$id = $_GET['id'];
$query = "SELECT filename, type, size, content FROM $mem_table WHERE id = ".$_SESSION['sess_id']."";
$result = mysql_query($query) or die('Error, query failed');
list($name, $type, $size, $content) = mysql_fetch_array($result);
header("Content-Disposition: attachment; filename=$name");
header("Content-length: $size");
header("Content-type: $type");
echo $content;
// include 'library/closedb.php';
exit;
?>
<html>
<head>
<title>Download File From MySQL</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?
//include 'library/config.php';
//include 'library/opendb.php';
$query = "SELECT id, name FROM $mem_table";
$result = mysql_query($query) or die('Error, query failed');
if(mysql_num_rows($result) == 0)
{
echo "Database is empty <br>";
}
else
{
while(list($id, $name) = mysql_fetch_array($result))
{
?>
<a href="download.php?id=<?=$id;?>"><?=$name;?></a> <br>
<?
}
}
//include 'library/closedb.php';
ob_end_flush();
?>
<?php
echo "<br><a href=\"index.php?logout=\">Logga ut</a>\n<br><br>";
?>
<a href="admin.php">Tillbaka </a><br><br>
Får lite roliga fel..bland annat så fill den nu ladda hem filen konto.php...fast som bild, iom att det är en bild som ligger under det användarnamnet..
okej..det verkar som att ingen har någon lösning till mig..ni kanske har något annat tips om hur jag ska ladda hem filerna? det enda kravet jag har är att den letar efter filerna på det ställe i databasen där den som är inloggad är... dvs
FROM $mem_table WHERE id = ".$_SESSION['sess_id']."";
och att den som är inloggad kan trycka på en länk och ladda ner filen.
Har tänkt om upload och download av fil...är detta genomförbart tror ni? kanske lite bättre om man ska ladda upp flera filer till samma användare.
1. Väljer fil
2. Filen skickas till en mapp
3. Man fågnar filens namn och lägger den i en egen table med det ID't som den som är inloggad har
4. konto.php, kollar vilken den inloggade är (vilket ID)
5. Matchar det ID't mot filerna i FIL tablen, länkar dem, matchar filennamnet mot det i mappen
står ingenting, den så fort man försöker surfa in på konto.php där denna kod ligger vill den bara ladda hem filen konto.php som det filformatet filen hade som jag sparade i databasen under den användaren.. jag tog bort
så jag ska ha typ download.php med den övre koden för sig..och sen konto.php som ska visa och länka till filen, med den undre koden för sig självt? kan ju passa på att fråga om man kan ha flera filer under samma användare i databasen? Alltså
User Pass Fil
hej hej fil.c
fil2.c
hej2 ops filo.c
ne alltså..vi lagrar just nu filerna i egna fält i samma table hos rätt användare.. undrar om man kan då liksom ha flera filer hos en användare.... eller om man skriver över den andra filen som ligger där eller nått?
detta är vårt upload del som admin har tillåtelse till, vem/var han ska ladda bestäms utav vem vi valde i edit.php, (id't följer med till redigera.php)
<?php
ob_start();
session_start();
// Kolla om inloggad = sessionen satt
if (!isset($_SESSION['sess_userlevel']) || $_SESSION['sess_userlevel'] != "admin") {
// header("Location: index.php");
header("refresh: 5;url=konto.php");
// eller
echo "Du har inte behörighet till den här sidan";
exit;
}
?>
<?php
include "conn.php"; // Databasanslutningen
// Performing SQL query sh
$ID_ADD = $_GET['var'];
if (isset ($_GET['var'])){
$query = "SELECT * FROM $mem_table WHERE id =".$_GET['var']." ";
$result = mysql_query($query) or die('Query failed: ' . mysql_error());
// Printing results in HTML
echo "<p>Du redigerar användaren:<p>";
//echo "$_SESSION['sess_userlevel'];";
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
echo "\t<tr>\n";
foreach ($line as $col_value) {
echo "\t\t<td>$col_value</td>\n";
}
echo "\t</tr>\n";
//echo "test $sess_userlevel";
}
echo "</table>\n";
// Free resultset
mysql_free_result($result);
} //or die('fucked');
//Ladda upp
//----------------------------------------------------------
//----------------------------------------------------------
//----------------------------------------------------------
echo "<br>$ID_ADD";
if(isset($_POST['upload']))
{
$fileName = $_FILES['userfile']['filename'];
$tmpName = $_FILES['userfile']['tmp_name'];
$fileSize = $_FILES['userfile']['size'];
$fileType = $_FILES['userfile']['type'];
$fp = fopen($tmpName, 'r');
$content = fread($fp, $fileSize);
$content = addslashes($content);
fclose($fp);
if(!get_magic_quotes_gpc())
{
$fileName = addslashes($fileName);
}
// $query = "UPDATE $mem_table SET (filename, size, type, content ) ".
// "VALUES ('$fileName', '$fileSize', '$fileType', '$content') WHERE id = $ID_ADD";
$query = "UPDATE $mem_table SET filename='$fileName', size='$fileSize', type='$fileType' WHERE id = $ID_ADD";
mysql_query($query) or die('Gick inte att uploada');
echo "<br>File $fileName uploaded<br>";
}
ob_end_flush();
?>
<form action="" method="post" enctype="multipart/form-data" name="uploadform">
<table width="350" border="0" cellpadding="1" cellspacing="1" class="box">
<tr>
<td width="246"><input type="hidden" name="MAX_FILE_SIZE" value="2000000"><input name="userfile" type="file" class="box" id="userfile">
</td>
<td width="80"><input name="upload" type="submit" class="box" id="upload" value=" Upload "></td>
</tr>
</table>
</form>
</body>
</html>
<?php
echo "<br><a href=\"index.php?logout=\">Logga ut</a>\n<br><br>";
?>
<a href="admin.php">Tillbaka </a><br><br>
för att klargöra ännu mer
Admin loggar in, väljer användare han vill ladda upp en fil till, han laddar upp den.. den användaren loggar nu in, går in på konto.php (vilket ska vara en mall för alla användare), han ser att en fil ligger på hans konto, nu vill han ladda ner den (kommer vara pdf, .doc osv)
sen är ju frågan vilket som är bäst, så som jag har det nu, eller om jag ska ha en separat table för filerna o ange referens där till vilket användarID det tillhör..?
Okej, jag har nu gjort om upload skriptet lite :) nu laddar den till en egen table och under RefID i databasen lägger den den inloggades id när man uploadar filen.. jag uploadade en .doc fil, sen kollade jag direkt i databasen vad som låg där...en jääävla massa tecken, gick inte att urskilja...antar att det är rätt? i alla fall
Så här ser upload skriptet ut, hur löser jag detta med nedladdningen på det sätt jag beskrev?
<?php
ob_start();
session_start();
// Kolla om inloggad = sessionen satt
if (!isset($_SESSION['sess_userlevel']) || $_SESSION['sess_userlevel'] != "admin") {
// header("Location: index.php");
header("refresh: 5;url=konto.php");
// eller
echo "Du har inte behörighet till den här sidan";
exit;
}
?>
<?php
include "conn.php"; // Databasanslutningen
// Performing SQL query sh
$ID_ADD = $_GET['var'];
if (isset ($_GET['var'])){
$query = "SELECT * FROM $mem_table WHERE id =".$_GET['var']." ";
$result = mysql_query($query) or die('Query failed: ' . mysql_error());
// Printing results in HTML
echo "<p>Du redigerar användaren:<p>";
//echo "$_SESSION['sess_userlevel'];";
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
echo "\t<tr>\n";
foreach ($line as $col_value) {
echo "\t\t<td>$col_value</td>\n";
}
echo "\t</tr>\n";
//echo "test $sess_userlevel";
}
echo "</table>\n";
// Free resultset
mysql_free_result($result);
} //or die('fucked');
//Ladda upp
//----------------------------------------------------------
//----------------------------------------------------------
//----------------------------------------------------------
echo "<br>$ID_ADD";
if(isset($_POST['upload']))
{
$fileName = $_FILES['userfile']['filename'];
$tmpName = $_FILES['userfile']['tmp_name'];
$fileSize = $_FILES['userfile']['size'];
$fileType = $_FILES['userfile']['type'];
$fp = fopen($tmpName, 'r');
$content = fread($fp, $fileSize);
$content = addslashes($content);
fclose($fp);
if(!get_magic_quotes_gpc())
{
$fileName = addslashes($fileName);
}
// $query = "UPDATE $mem_table SET (filename, size, type, content ) ".
// "VALUES ('$fileName', '$fileSize', '$fileType', '$content') WHERE id = $ID_ADD";
//$query = "UPDATE $mem_table SET filename='$fileName', size='$fileSize', type='$fileType' WHERE id = $ID_ADD";
$query = "INSERT INTO UserFiles (filename, size, type, content, RefID ) "."VALUES ('$fileName', '$fileSize', '$fileType', '$content', '$ID_ADD')";
mysql_query($query) or die('Gick inte att uploada');
echo "<br>File $fileName uploaded<br>";
}
ob_end_flush();
?>
<form action="" method="post" enctype="multipart/form-data" name="uploadform">
<table width="350" border="0" cellpadding="1" cellspacing="1" class="box">
<tr>
<td width="246"><input type="hidden" name="MAX_FILE_SIZE" value="2000000"><input name="userfile" type="file" class="box" id="userfile">
</td>
<td width="80"><input name="upload" type="submit" class="box" id="upload" value=" Upload "></td>
</tr>
</table>
</form>
</body>
</html>
<?php
echo "<br><a href=\"index.php?logout=\">Logga ut</a>\n<br><br>";
?>
<a href="admin.php">Tillbaka </a><br><br>
<?php
if (isset($_GET['Id'])) {
// koppla dig till databasen här
$result = mysql_query("SELECT bild FROM files WHERE id = ".$_GET['Id']."");
$file_data = mysql_result($result, 0, "file_data");
$file_type = mysql_result($result, 0, "file_type");
Header ("Content-Type: $file_type");
echo $file_data;
}
?>
konto.php
$query = mysql_query("SELECT id FROM files WHERE refId = ".$_SESSION['sess_id']."");
while ($pic = mysql_fetch_array($query)){
echo "<img src=\"bild.php?Id=".$pic['id']."\">";
}
Du får ändra tabellnamn o sånt till det du använder
Nu är jag nära! Bara något fel med mysql statements.. detta har jag nu
konto.php
<?php
ob_start();
session_start();
// Kolla om inloggad = sessionen satt
if (!isset($_SESSION['sess_user'])){
header("Location: index.php");
exit;
}
if (isset($_GET['logout'])){
session_unset();
session_destroy();
header("Location: index.php");
exit;
}
?>
<?php
include "conn.php"; // Databasanslutningen
// Performing SQL query sh
$query = "SELECT * FROM $mem_table WHERE id = ".$_SESSION['sess_id']."";
$result = mysql_query($query) or die('Query failed: ' . mysql_error());
// Printing results in HTML
echo "<p>Den inloggade är<p>";
//echo "$_SESSION['sess_userlevel'];";
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
echo "\t<tr>\n";
foreach ($line as $col_value) {
echo "\t\t<td>$col_value</td>\n";
}
echo "\t</tr>\n";
//echo "test $sess_userlevel";
}
echo "</table>\n";
$query = mysql_query("SELECT id FROM UserFiles WHERE refId = ".$_SESSION['sess_id']."");
while ($pic = mysql_fetch_array($query)){
echo "<a href=\"bild.php?Id=".$pic['id']."\">mmmm</a>";
}
// Free resultset
mysql_free_result($result);
ob_end_flush();
?>
<?php
echo "<br><a href=\"index.php?logout=\">Logga ut</a>\n<br><br>";
?>
<a href="admin.php">Tillbaka </a><br><br>
bild.php
<?php
ob_start();
session_start();
include "conn.php";
// Kolla om inloggad = sessionen satt
if (!isset($_SESSION['sess_user'])){
header("Location: index.php");
exit;
}
// header("Location: index.php");
// header("refresh: 5;url=konto.php");
// eller
// echo "Du har inte behörighet till den här sidan";
// exit;
//}
?>
<?php
if (isset($_GET['Id'])) {
// koppla dig till databasen här
$result = mysql_query("SELECT content FROM files WHERE RefID= ".$_GET['Id']."");
$file_data = mysql_result($result, 0, "content");
$file_type = mysql_result($result, 0, "type");
Header ("Content-Type: $file_type");
echo $file_data;
}
?>
Tablen UserFiles ser ut så här
| ID | filename | type | size | content| RefID |
Felmeddelanden jag får ser ut så här
<br />
<b>Warning</b>: mysql_result(): supplied argument is not a valid MySQL result resource in <b>/usr/local/www/apache22/data/Grej/bild.php</b> on line <b>24</b><br />
<br />
<b>Warning</b>: mysql_result(): supplied argument is not a valid MySQL result resource in <b>/usr/local/www/apache22/data/Grej/bild.php</b> on line <b>25</b><br />
Nu är det iofs inte bilder vi laddar upp..därmed fel namn på php filen..men det e struntsamma just nu.
265 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e