PHP problém

Programovacie jazyky, rady, poradňa...
olaf
Novice
Novice
Príspevky: 3
Registrovaný: 04 júl 2010, 9:41

PHP problém

Príspevok od používateľa olaf »

Dobrý deň

Snažím sa o vytváranie obrázkov pomocou GD knihovne.
Keď použijem tento kód:

Kód: Vybrať všetko

<?php
// odešle hlavičku prohlížeči kde specifikuje že se jedná o jpeg obrázek
header ("Content-type:image/jpeg");
// Vytvoří obrázek o rozměrech 75 * 75 px.
$obrazek = ImageCreate(75,75);
// Nastaví barvu obrázku na 0,0,0 (RGB kód který odpovídá #000000).
$barva_cerna = ImageColorAllocate($obrazek,0,0,0);
// Odešle prohlížeči vygenerovaný obrázek.
ImageJpeg ($obrazek);
// Uvolní systémové prostředky.
ImageDestroy ($obrazek);
?>
vytvorí sa čierny štvorec

Ale keď sa snažím tento kód niekde použiť napr. v tomto kóde:

Kód: Vybrať všetko

<form method="post">
<p>Suradnica Y1: <input type="text" name="y1" /></p>
<p>Suradnica X1: <input type="text" name="x1" /></p>
<p>Suradnica Y2: <input type="text" name="y2" /></p>
<p>Suradnica X2: <input type="text" name="x2" /></p>
<input name="odoslane" value="1" type="hidden">
<p><input type="submit" value="Vypočítat" /></p>
</form>

<?php
if($_POST["odoslane"]==1)
{
if($_POST["y1"]!="")
{
$y1=$_POST['y1'];
$x1=$_POST['x1'];
$y2=$_POST['y2'];
$x2=$_POST['x2'];
$xx=$x2-$x1;
$yy=$y2-$y1;
if($xx==0 && $yy==0)
echo("Body su identicke");
if($xx==0 || $yy==0)
{
if($yy>0 && $xx==0)
{
$smernik=100;
printf("%.4f", ($smernik));
}
if($yy<0 && $xx==0)
{
$smernik=300;
printf("%.4f", ($smernik));
}
if($yy==0 && $xx<0)
{
$smernik=200;
printf("%.4f", ($smernik));
}
if($yy==0 && $xx>0)
{
$smernik=0;
printf("%.4f", ($smernik));
}
}
else
{
$fi=atan(abs($yy)/abs($xx));
$RO=63.66197723;
if($yy>0 && $xx>0)
{
$smernik=$fi*$RO;
printf("%.4f", ($smernik));
}
if($yy>0 && $xx<0)
{
$smernik=200-($fi*$RO);
printf("%.4f", ($smernik));
}
if($yy<0 && $xx<0)
{
$smernik=200+($fi*$RO);
printf("%.4f", ($smernik));
}
if($yy<0 && $xx>0)
{
$smernik=400-($fi*$RO);
printf("%.4f", ($smernik));
}
}
// Vytvoří obrázek o rozměrech 75 * 75 px.
$obrazek = ImageCreate(75,75);
// Nastaví barvu obrázku na 0,0,0 (RGB kód který odpovídá #000000).
$barva_cerna = ImageColorAllocate($obrazek,0,0,0);
// Odešle prohlížeči vygenerovaný obrázek.
ImageJpeg ($obrazek);
// Uvolní systémové prostředky.
ImageDestroy ($obrazek);
}
}
?>
po odoslaní formúlára vypíše na 5 riadkov divné znaky:

Kód: Vybrať všetko

˙Ř˙ŕ&#65533;JFIF&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;˙ţ&#65
533;>CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), default quality
˙Ű&#65533;C&#65533;    $.'
",#(7),01444'9=82<

Kód: Vybrať všetko

header ("Content-type:image/jpeg");
tam nedávam úmyselne lebo vtedy
vypíše ešte aj: Warning: Cannot modify header information - headers already
sent by ...

kde robím chybu? som v php začiatočník
za každú odpoveď vopred ďakujem
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: PHP problém

Príspevok od používateľa audiotrack »

odpovedal som ti v téme php skripty, ale dobre že si založil osobitnú. Ďalej sa tomu venuj v tejto téme :)
olaf
Novice
Novice
Príspevky: 3
Registrovaný: 04 júl 2010, 9:41

Re: PHP problém

Príspevok od používateľa olaf »

díky moc a ako to mám spraviť? je jasné, že keď to vymením teda prvý pôjde php kód s header.... tak obrázok sa zobrazí ale formulár nie

Zjednodušene mám formulár zadám nejaké hodnoty spraví sa výpočet a tie vypočítane hodnoty chcem vyniesť pomocou suradníc do obrázku.

Všetko by bolo OK len ten obrázok neviem zobrazit.

//autoeditácia príspevku (04 Júl 2010, 13:31)
//autoeditácia príspevku (04 Júl 2010, 13:30)
ShepDog napísal:vystup vyzera byt ok a ten header daj upne na zaciatok este pred <form method="post">

Kód: Vybrať všetko

<?php
if($_POST["odoslane"]==1)
  {
    if($_POST["y1"]!="") 
    { 
header ("Content-type:image/jpeg");
    }
}
?>
v jednom súbore môžu byť dva krát <?php ?> ??
dal som to uplne na začiatok ako si písal a vypísalo mi cestu k súboru http://127.0.0.1/test.php
Napísať odpoveď