Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2009-11-25 23:33:00

  blinki - Użytkownik

blinki
Użytkownik
Skąd: Wschowa/Gdańsk
Zarejestrowany: 2009-04-09
Serwis

[php] dlaczego nie rysuje?

Proszę was o pomoc w znalezieniu błędu, skrypt ma robić obrazek z kilku obrazków wyświetlając jeden pod drugim:
(niema syntexów)

Kod:

<?
header('Content-Type: image/jpeg');
include "./funkcje/polaczenie.php";
pol();
$id=$_GET['id'];
$slajdy=$_GET['slajdy'];
//czytamy dane z bazy
for($i=1; $i<=$slajdy; $i++)
{
    $zap=mysql_query("select * from slajdy where obrazek_id=".$id." and nr_slajd=".$i."");
    while($w=mysql_fetch_array($zap))
    {
        $img[$i]=$w['obrazek'];
        $img[$i]=imagecreatefromjpeg($img[$i]);
        $h[$i]=imagesy($img[$i]);
        $w[$i]=imagesx($img[$i]);
        $m=$w/400;
        $h1[$i]=$h[$i]/$m;
        $h1[$i]=floor($h1[$i]);
        
    }
}

$maxh=0;


//ustalamy wielkosc maxymalna calego obrazka
for($i=1; $i<=$sjaljdy; $i++)
{
    $maxh=$maxh+$h[$i];
    
}
$obrazek = imagecreatetruecolor(400,$maxh);

//rysujemy obrazek
$ha=0;
$h1[0]=0;
for($i=1; $i<=$slajdy; $i++)
{
    imagecopyresized($obrazek, $img[$i], 0, 0, $ha, 0, 420, $h1[$i], 400, $h1[$i] );
    $ha=$ha+$h1[$i];
}


imagejpeg($obrazek);


?>

please help me!!!

Ostatnio edytowany przez blinki (2009-11-25 23:33:49)


Platforma Systemowa: Debian 5.0 lenny | KDE 4.3.2
PC: FS Amilo li 3710 | DualCore 2.0GHz/3GB/Intel GMA X4500
Przeglądarka: Opera (Firefox sux^^)

Offline

 

#2  2009-11-26 09:40:20

  kamikaze - Administrator

kamikaze
Administrator
Zarejestrowany: 2004-04-16

Re: [php] dlaczego nie rysuje?

Jak się objawia błędne działanie skryptu? Przydałoby się to wiedzieć. Poza tym skrypt ma poważną lukę bezpieczeństwa, przekazujesz id z GET nie sprawdzając właściwie co przechodzi. Można pięknie wywalić twoją bazę przy pomocy tego skryptu.

Offline

 

#3  2009-11-26 10:25:07

  blinki - Użytkownik

blinki
Użytkownik
Skąd: Wschowa/Gdańsk
Zarejestrowany: 2009-04-09
Serwis

Re: [php] dlaczego nie rysuje?

wiec bład wygląda tak... (opisze słownie bo niema mnie w domu:P)
spotkałeś się kiedyś z czymś takim?
<img src="zdjecie.jpg">
przyczym zdjecie.jpg nieistnieje
rezultatem jest prostokąt z napisem wśrodku "Obrazek"


a co do getów to narazie na czas testów żeby lepiej sie sprawdzało, potem coś będe kombinował
a co możecie zaproponować zamiast getów? (bo post nie wiem jak zrobić bez formularza)


Platforma Systemowa: Debian 5.0 lenny | KDE 4.3.2
PC: FS Amilo li 3710 | DualCore 2.0GHz/3GB/Intel GMA X4500
Przeglądarka: Opera (Firefox sux^^)

Offline

 

#4  2009-11-26 11:00:04

  kamikaze - Administrator

kamikaze
Administrator
Zarejestrowany: 2004-04-16

Re: [php] dlaczego nie rysuje?

blinki napisał(-a):

wiec bład wygląda tak... (opisze słownie bo niema mnie w domu:P)
spotkałeś się kiedyś z czymś takim?
<img src="zdjecie.jpg">
przyczym zdjecie.jpg nieistnieje
rezultatem jest prostokąt z napisem wśrodku "Obrazek"

Nie nie miałem czegoś takiego, twój problem raczej też tak nie wygląda więc opisz jak wygląda. Wysyłasz zdjęcie na przeglądarke więc nie masz tam żadnego htmla więc nie wiem o co ci chodzi z tym  <img src="zdjecie.jpg">. Opisz jak się objawia nie działanie tego skryptu. Dostajesz prostokąt z napisem obrazek, czy co? Co właściwie trzymasz w kolumnie obrazek tabeli slajdy? Powinna być tam ścieżka do pliku jpg, który znajduje się gdzieś na dysku i serwer www ma do niego dostęp, jest tak?

Offline

 

#5  2009-11-26 16:48:01

  blinki - Użytkownik

blinki
Użytkownik
Skąd: Wschowa/Gdańsk
Zarejestrowany: 2009-04-09
Serwis

Re: [php] dlaczego nie rysuje?

efekt bledu jest taki
[img]adsafsadfasd.sdas[/img]

a jak narazie znalazłem błąd tego typu że funkcja imagecopyresized() nie może zawierać tablic (czyli nie może być img[$i]), czyli bede musiał to zrobić w jednej pętli


Platforma Systemowa: Debian 5.0 lenny | KDE 4.3.2
PC: FS Amilo li 3710 | DualCore 2.0GHz/3GB/Intel GMA X4500
Przeglądarka: Opera (Firefox sux^^)

Offline

 

#6  2009-11-26 17:07:49

  kamikaze - Administrator

kamikaze
Administrator
Zarejestrowany: 2004-04-16

Re: [php] dlaczego nie rysuje?

Dostajesz stronę z tekstem [img]adsafsadfasd.sdas[/img] ? Raczej nie masz prawa dostać strony gdy dajesz header('Content-Type: image/jpeg'); Możesz gdzieś wystawić ten skrypt by można było zobaczyć jego działanie? A co do img[$i] to gdy iterujesz po $i img[$i] jest elementem tablicy a nie tablicą. Wywołanie funkcji jest ok inaczej byś dostał stosowny błąd, jeśli masz włączone wyświetlanie wszystkich błędów.

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)