wyswietlanie obrazka z bazy w nowym oknie

Języki, których efekty są wykonywane po stronie serwera. PHP, ASP czy CGI w połączeniu z bazami danych SQL dają niezwykłe możliwości budowy i zarządzania stron WWW. Tu zadajemy pytania oraz demonstrujemy kod, z którym mamy problem.
grekoz
Posty: 2
Rejestracja: pt wrz 16, 2005 12:41 pm
Kontakt:

wyswietlanie obrazka z bazy w nowym oknie

Post autor: grekoz »

Zarowno stosujac otwieranie za pomoca target=_blank, jak i gotowych skryptow js do otwierania obrazka w nowym oknie to w IE i Firefox wyswietla mi sie okienko z zapytaniem czy zapisac obrazek na dysku zamiast go otworzyc.

Jako SRC podaje adres do skryptu w php, ktory pobiera mi obrazek z bazy i wyswietla za pomoca funkcji echo. W przypadku zastosowania go przy znaczniku:

Kod: Zaznacz cały

<IMG SRC=wyswietl_obrazek.php>
obrazek sie wyswietla tak jak nalezy.

Jak mozna rozwiazac ten problem? Prosze o wskazowki.
yenk
Nowy
Nowy
Posty: 21
Rejestracja: pt sie 20, 2004 12:57 pm
Lokalizacja: Zabrze
Kontakt:

Re: wyswietlanie obrazka z bazy w nowym oknie

Post autor: yenk »

Podaj większy kawałek skryptu i najlepiej pokaż, jak to wygląda z w działaniu, bo opis jest pełny, ale przy poprawnym wpisywaniu wszystkiego tak jak mówisz - powinno działać. Podaj kod, w którym uważasz, że jest błąd.
grekoz
Posty: 2
Rejestracja: pt wrz 16, 2005 12:41 pm
Kontakt:

Re: wyswietlanie obrazka z bazy w nowym oknie

Post autor: grekoz »

do pobierania obrazku z bazy i wyswietlania korzystam z poniższego skryptu:

Kod: Zaznacz cały

<?
include("baza_operacje.inc.php");

$id = $_GET['id'];

$aSQL = "SELECT * FROM foty WHERE ID='$id'";
$aTablica = CzytajZBazy($aSQL);
$aTablica = mysql_fetch_assoc($aTablica);
$image = $aTablica['foto1'];

$typ = 'Content-type: image/jpeg';
$nazwa = $id.'.jpg';

header("Content-type: $typ");  
header("Content-Disposition: attachment; filename=$nazwa"); 

echo $image;
?>
Kiedy wywoluje obrazek w nast. sposob:

Kod: Zaznacz cały

echo '<img src="modules/wyswietl_obrazek.inc.php?id='.$id.'" width="137" "height="103">';
to obrazek pokazuje sie na stronie tak jak nalezy.
Kiedy jednak chce otworzyc obrazek tak zeby sie wyswietlal w nowym oknie np.

Kod: Zaznacz cały

echo '<A HREF="modules/wyswietl_obrazek.inc.php?id='.$id.'" TARGET="_blank">obrazek</A>'
wtedy okno sie otwiera, ale zamiast wyswietlac obrazek pyta czy go zapisac na dysku.
yenk
Nowy
Nowy
Posty: 21
Rejestracja: pt sie 20, 2004 12:57 pm
Lokalizacja: Zabrze
Kontakt:

Re: wyswietlanie obrazka z bazy w nowym oknie

Post autor: yenk »

Zrób inaczej.
Zrób plik, który załóżmy będzie nazywał się obrazek.php i to on będzie służył do includowania tamtego obrazka.
Po kolei.
Skrypt dajesz taki sam, za to link inny:

Kod: Zaznacz cały

echo '<A HREF="modules/obrazek.php?id='.$id.'" TARGET="_blank">obrazek</A>' ;
A w pliku obrazek.php wpisujesz:

[php]<?php
$id = $_GET['id'];
echo '<img src="modules/wyswietl_obrazek.inc.php?id='.$id.'" width="137" "height="103">';
?>[/php]

Czy tam inne parametry, ale powinno działać.
Omijam problem :)
ODPOWIEDZ