Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    50

    pagina di risposta in un'altra finestra

    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>

  2. #2
    Basta mettere target=_blank nel form.... roba di html...





    @ma chi leggera' mai il tuo script????

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    50
    Grazie mille.
    Ha funzionato con :
    <form method="post" action="grafici.php" src="pippo" target="_blank" >

    Riguardo allo script...penso che tu abbia ragione.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.