Una pagina web tramite un form invia la richiesta al server che in risposta produce un grafico disegnato in PHP.
Vorrei avere la pagina in risposta su di un'altra pagina del browser e non sulla stessa, che quindi viene ricoperta, da cui e' partita la richiesta.

Pagina di richiesta :
codice:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title> Your Title Here </title>
<meta name="Generator" content="Alleycode HTML Editor">
<meta name="Description" content="Your description here...">
<meta name="Keywords" content="Your keywords here...">
</head>

<body>
<?php

		echo gmdate("d M Y");
		print(' - ');
		echo date("H:i");
?>

		<form method="post" action="grafici.php" src="pippo">
		
		<fieldset>
		

		<h3>Periodo
		<input type="text" name="data1" size="10" maxlength="8">
		<input type="text" name="data2" size="10" maxlength="8">(ssaammgg)
		</h3>
		<h3>Titolo

<?php

//ciclo per estrarre i nomi dei files dei titoli
		
		print('<select name="titolo">');
		
// host: localhost windows
		$fd = fopen ("C:\Programmi\Apache Group\Apache2\htdocs\borsa\quotazioni_m\listati.txt", "r");
// host: altervista linux
//		$fd = fopen ("quotazioni_m/listati.txt", "r");

		while (!feof ($fd)) {
     		$buffer = fgets($fd, 4096);
                                  
			if ($buffer == $b) {
				print('<option value=' . "$buffer" . 'SELECTED>' . " $buffer" . '</option>');
			}
			else {
				print('<option value=' . "$buffer" . '>' . " $buffer" . '</option>');
			}
		}
		fclose ($fd);
		print ('</select>');

?>

		<input type="submit" value="Disegna">
		</h3>
		
		</fieldset>
		</form>
  		


</body>
</html>
pagina di risposta tutta in PHP :
codice:
<?
		function tratta_record (&$rec,
													&$desb,
	 												&$qdat,
	 												&$qape,
	 												&$qmax,
	 												&$qmin,
	 												&$qchi,
	 												&$qvol,
	 												&$q8,
	 												&$q9,
	 												&$q10,
	 												&$desl)
		{
			$x = 0;
			
			$z = 0 + 14;
			for ($i = 0 ; $i <= $z ; $i++)
			{
				$x++;
				$desb = $desb . $rec{$i};
			}
			//$x++;			
			$z = $z + 8;
			for ($i = $x ; $i <= $z ; $i++)
			{
				$x++;
				$qdat = $qdat . $rec{$i};
			}
			//$x++;			
			$z = $z + 7;
			for ($i = $x ; $i <= $z ; $i++)
			{
				$x++;
				$qape = $qape . $rec{$i};
			}
			//$x++;			
			$z = $z + 7;
			for ($i = $x ; $i <= $z ; $i++)
			{
				$x++;
				$qmax = $qmax . $rec{$i};
			}
			//$x++;			
			$z = $z + 7;
			for ($i = $x ; $i <= $z ; $i++)
			{
				$x++;
				$qmin = $qmin . $rec{$i};
			}			
			//$x++;			
			$z = $z + 7;
			for ($i = $x ; $i <= $z ; $i++)
			{
				$x++;
				$qchi = $qchi . $rec{$i};
			}
			//$x++;			
			$z = $z +10;
			for ($i = $x ; $i <= $z ; $i++)
			{
				$x++;
				$qvol = $qvol . $rec{$i};
			}			
			//$x++;			
			$z = $z + 7;
			for ($i = $x ; $i <= $z ; $i++)
			{
				$x++;
				$q8 = $q8 . $rec{$i};
			}
			//$x++;			
			$z = $z + 7;
			for ($i = $x ; $i <= $z ; $i++)
			{
				$x++;
				$q9 = $q9 . $rec{$i};
			}
			//$x++;			
			$z = $z + 7;
			for ($i = $x ; $i <= $z ; $i++)
			{
				$x++;
				$q10 = $q10 . $rec{$i};
			}
			//$x++;			
			$z = $z + 30;
			for ($i = $x ; $i <= $z ; $i++)
			{
				$x++;
				$desl = $desl . $rec{$i};
			}
		/*print ("$desb
");
	
			print ("$qdat
");
			print("$qape
");
			print("$qmax
");
			print("$qmin
");
			print("$qchi
");
			print("$qvol
");
			print("$q8
");
			print("$q9
");
			print("$q10
");
			print("$desl
"); */

		}
//end function tratta_record

		$a = $_REQUEST[titolo];	
		$d1 = $_REQUEST[data1];
		$d2 = $_REQUEST[data2];

		$nomeb="";
		$max = 0;
		$min = 999;
		
		if ($a != "") {
			for ($i = 0 ; $a{$i} != "," ; $i++)
			{
				$nomeb = $nomeb . $a{$i};
			}			
		}
// host: localhost windows
		$filename ="C:\\Programmi\\Apache Group\\Apache2\\htdocs\\borsa\\quotazioni_m\\titoli\\" . "$nomeb" . ".bin";
// host: altervista linux
//		$filename ="quotazioni_m/" . "$nomeb" . ".bin";

		if ($a != "") {
			$ft = fopen ($filename, "rb");
			while (!feof ($ft)) {
				$rec = fread ($ft, 112);
				
				$desb="";
	 			$qdat="";
	 			$qape="";
	 			$qmax="";
	 			$qmin="";
	 			$qchi="";
	 			$qvol="";
	 			$q8="";
	 			$q9="";
	 			$q10="";
	 			$desl="";		
				
				tratta_record(	$rec,
											$desb,
	 										$qdat,
	 										$qape,
	 										$qmax,
	 										$qmin,
	 										$qchi,
	 										$qvol,
	 										$q8,
	 										$q9,
	 										$q10,
	 										$desl);
	 		
	 			if ($qdat >= $d1 && $qdat <= $d2) {							
	 				$descrizione = $desl;
	 				if ($max < $qmax) {
	 					$max = $qmax;
	 				} 
	 				if ($min > $qmin) {
	 					$min = $qmin;
	 				} 
	 			}	
	 		}							

			fclose ($ft);
		}	

// istanzio una nuova immagine di dimensioni x=200 e y=300 
		$immagine = imageCreate(850, 680); 
// assegno il primo colore, questo colore sarà anche lo sfondo dell'immagine 
		$bianco = imageColorAllocate($immagine, 255, 255, 255); 
// assegno un secondo colore, da utilizzare per colorare il testo 
		$nero = imageColorAllocate($immagine, 0, 0, 0); 
// visualizzo il testo  
		imageString($immagine, 2, 52, 50, $nomeb, $nero); 
// visualizzo il rettangolo per il disegno  
		imageRectangle($immagine, 50, 50, 800, 670, $nero);

		$ystart = 600;
		$x1 = 60;

		if ($a != "") {
			$ft = fopen ($filename, "rb");
			while (!feof ($ft)) {
				$rec = fread ($ft, 112);
				
				$desb="";
	 			$qdat="";
	 			$qape="";
	 			$qmax="";
	 			$qmin="";
	 			$qchi="";
	 			$qvol="";
	 			$q8="";
	 			$q9="";
	 			$q10="";
	 			$desl="";		
				
				tratta_record(	$rec,
											$desb,
	 										$qdat,
	 										$qape,
	 										$qmax,
	 										$qmin,
	 										$qchi,
	 										$qvol,
	 										$q8,
	 										$q9,
	 										$q10,
	 										$desl);
	 		
	 			if ($qdat >= $d1 && $qdat <= $d2) {							
// barra verticale
					$y1 = ((($max - $qmax) * $ystart) / ($max - $min)) + 50;
					$y2 = ((($max - $qmin) * $ystart) / ($max - $min)) + 50;
//echo("$y1
");
//echo("$y2
");
					imageLine($immagine, $x1, $y1, $x1, $y2, $nero);	 				

//barre orrizzontali					
					$y1 = ((($max - $qape) * $ystart) / ($max - $min)) + 50;
					imageLine($immagine, $x1, $y1, ($x1 + 4), $y1, $nero);	 				

					$y1 = ((($max - $qchi) * $ystart) / ($max - $min)) + 50;
					imageLine($immagine, $x1, $y1, ($x1 - 4), $y1, $nero);	 				
					
					$x1 = $x1 + 07;
	 			}	
	 		}							

			fclose ($ft);
// imposto correttamente gli header 
			header("Content-type: image/png");
// invio l'output come immagine PNG 
			imagePng($immagine); 
// libero la memoria 
			imageDestroy($immagine); 
		}	

?>

<html>
<head>
<title> Your Title Here </title>
<meta name="Generator" content="Alleycode HTML Editor">
<meta name="Description" content="Your description here...">
<meta name="Keywords" content="Your keywords here...">
</head>

<body>

</div>
</body>
</html>