odczyt linku z bazy danych

0

witam
nie wiem jak zrobić aby link z bazy wyświetlał plik pdf z katalogu
mam taki skrypt a poza tym żeby jak kliknę drukuj zapisywało się to w bazie w poliu flaga
np jako "1"

oto skrypty:
baza:


CREATE TABLE `pliki` (
`id_plik` tinyint(4) NOT NULL auto_increment,
`nazwa` varchar(50) character set utf8 collate utf8_polish_ci NOT NULL,
`pdf` varchar(255) NOT NULL,
`flaga` int(1) NOT NULL,
`data` date NOT NULL,
`czas` time NOT NULL,
PRIMARY KEY (`id_plik`)
) ENGINE=MyISAM AUTO_INCREMENT=8 DEFAULT CHARSET=latin2 AUTO_INCREMENT=8 ;

-- 
-- Zrzut danych tabeli `pliki`
-- 

INSERT INTO `pliki` (`id_plik`, `nazwa`, `pdf`, `flaga`, `data`, `czas`) VALUES (1, 'pdf1.pdf', '/dane/pdf1.pdf', 1, '2009-06-08', '19:02:00'),
(2, 'pdf2.pdf', '/dane/pdf2.pdf', 0, '2009-06-07', '12:23:00');

plik z pdf:

<?php

require_once 'walidacja.inc.php';
require_once 'nazwadb.inc.php';

if (isset($_GET['nr'])) {
$nr = $_GET['nr'];
$nr = trim(strip_tags($nr));
$nr = mysql_escape_string($nr);
if (!ivpi($nr)) {
unset($nr);
}
}

if (isset($nr)) {
$link = mysql_connect("$host", "$root","$haslo")
or die ("BŁĄD: nie można się połączyć z serverem mySQL");
mysql_select_db($nazwabazydanych)
or die ("BŁĄD: wybór bazy danych");

$result = mysql_query("SELECT pdf FROM pliki WHERE id_plik=$nr");
$wiersz = mysql_fetch_array($result);

header("Cache-Control: no-cache, must-revalidate");

header("Content-type: application/pdf");

header("Location: /dane");





//$nr->render('pdf');

render ($wiersz['pdf']) ;
mysql_close($link);
}

?> 

ps jak miałem pole blob - pdf i echo $wiersz['pdf'];
to mi chodziło a teraz wywala mi:
plik nie zaczyna się od '%PDF'

0
require_once 'walidacja.inc.php';
require_once 'nazwadb.inc.php';

if (isset($_GET['nr'])) {
	$nr = $_GET['nr'];
	if (!is_numeric($nr)) {
		die('No co ty robisz! SQL Injection?');
	}
} else {
	die('Zmienna <b>nr</b> nie zostala ustawiona!');
}

$result = mysql_query('SELECT `pdf` FROM pliki WHERE id_plik = '.$nr);
$wiersz = mysql_fetch_array($result);

//To zostanie zignorowane jak dasz header location
//header("Cache-Control: no-cache, must-revalidate");
//header("Content-type: application/pdf");

header('Location: '.$wiersz['pdf']);
mysql_close($link);

I styknie

@down
Też można.

0

dzięki
zrobiłem readfile ($wiersz['pdf');

1 użytkowników online, w tym zalogowanych: 0, gości: 1