Jedna me stvar zabrinjava (zasad ) kod ovog crtanja sa PHP-om, a to je kako da pokupim neku informaciju izvan te datoteke.
Znači ovako: U datoteci u kojoj se izvodi grafika bi trebao stajat kod koji će uzet vrijednost varijable iz neke druge datoteke. I to sam napravio sa sljedećim kodom:
$vr_x = $_SESSION["vr_x"];
$vr_y = $_SESSION["vr_y"];I to bi i radilo kad bih grafiku pozivao iz druge datoteke sa <include("naziv.php");> ali mi se onda graf ne vidi. A kad pozivam grafiku sa <img src="naziv.php"> (što je ispravno) onda mi $vr_x i $vr_y umjesto vrijednosti tražene varijable one poprimaju vrijednost 0. Evo i dio koda:
polarne_koordinate.php
...
<form action="<?php echo ($PHP_SELF); ?>" method="post">
X = <input type="text" name="pr1_x" id="pr1_x" />
<br />
<br />
Y = <input type="text" name="pr1_y" id="pr1_y" />
<br />
<br />
<input type="submit" name="pr1_pretvori" id="pr1_pretvori" value="Pretvori" />
</form>
<br />
<br />
R =
<?
if ( $_POST["pr1_pretvori"] )
{
$pr1_x = $_POST['pr1_x'];
$pr1_y = $_POST['pr1_y'];
$rez1_r = sqrt(pow($pr1_x,2) + pow($pr1_y,2));
$_SESSION['vr_x'] = $pr1_x;
$_SESSION['vr_y'] = $pr1_y;
echo "<b>"; echo $rez1_r; echo "</b>";
}
?>
<br />
φ =
<?
if ( $_POST["pr1_pretvori"] )
{
$pr1_x = $_POST['pr1_x'];
$pr1_y = $_POST['pr1_y'];
$rez1_fi = atan($pr1_y / $pr1_x);
echo "<b>"; echo rad2deg($rez1_fi); echo " °</b>";
}
?>
Graf:<br /><br />
<?
if ( $_POST["pr1_pretvori"] )
{
if ("$rez1_r" > 450)
{ echo ("<div id=\"crvena\"><b>Graf se ne može prikazati jer je udaljenost od ishodišta (R) prevelika!</div></b>"); }
else
{ echo ("<img src=\"graf_pk.php\" />");
}
}
?>
...
graf_pk.php
<?php
/** @autor: CroModder **/
// Podaci :
$duzina = 500;
$visina = 500;
$vr_x = $_SESSION["vr_x"];
$vr_y = $_SESSION["vr_y"];
// Stvaranje slike i definiranje boja :
$slika = imagecreate($duzina + 1, $visina + 1);
$pozadina = imagecolorallocate($slika, 204, 204, 204);
$crna = imagecolorallocate($slika, 0, 0, 0);
$plava = imagecolorallocate($slika, 0, 0, 255);
$zelena = imagecolorallocate($slika, 0, 255, 0);
$crvena = imagecolorallocate($slika, 255, 0, 0);
// Mreža :
for ($i=0; $i<=500; $i = $i + 25)
{
imageline($slika, $i, 0, $i, $visina, $crna);
imageline($slika, 0, $i, $duzina, $i, $crna);
}
// Označavanje mreže :
for ($i=-250; $i<=300; $i = $i + 50)
{
imagestring($slika, 5, $duzina/2 + $i, $visina/2, "$i", $crvena);
imagestring($slika, 5, $duzina/2, $visina/2 - $i, "$i", $crvena);
}
// Pravac :
imagesetthickness($slika, 3);
imageline($slika, $duzina/2, $visina/2, $duzina/2 + $vr_x, $visina/2 - $vr_y, $plava);
// Definiranje slike i oslobađanje memorije :
header ("Content-type: image/png");
imagepng($slika);
imagedestroy($slika);
?>
Kako da sredim taj problem? Ima neko iskustva sa ovim?