title: How can I display a png image (pie chart) generated by gd using php in my html page?
body: <p>So the problem I am having is that I have not been able to pass information calculated on a page Results.html to a script I have to generate a pie chart and then take the image and display it in my Results page.  I am very new to PHP (about 2 weeks) and have only the most basic understanding so I need very explicit instructions.  Either way, this is the code I'm working with:</p>
  
  <pre><code>&lt;?php
      $filename = "Results.txt";
      $lines = file($filename);
  
      $q1 = $_POST['q1']; // stores checked button value
      $q2 = $_POST['q2'];
      $q3 = $_POST['q3'];
      $q4 = $_POST['q4'];
      $q5 = $_POST['q5'];
      $q6 = $_POST['q6'];
      $q7 = $_POST['q7'];
      $q8 = $_POST['q8'];
  
      $qN = 1;  //question number
  
      $newLines = '';
  
      $total = array();
  
          foreach($lines as $line) {
  
              $line = trim($line);  //remove excess newlines etc.
              $lineArr = explode(',',$line);  //split line into array by commas
              $index = ${'q'.$qN}-1; //zero based
          if (isset($lineArr[$index])){
              $lineArr[$index]++;  //add to position by one vote.
              $total = array_sum($lineArr); //number of clicks 
  
              $newLines .= implode(',',$lineArr) . "\r\n"; //newLines contains numbers then also
          $qN++;
          }
      }
  //write contents back to file.
  file_put_contents($filename, $newLines);
  
  //frequencies for each line without strings
  $l[1] = explode(',',$lines[0]);
  $l[2] = explode(',',$lines[1]);
  $l[3] = explode(',',$lines[2]);
  $l[4] = explode(',',$lines[3]);
  $l[5] = explode(',',$lines[4]);
  $l[6] = explode(',',$lines[5]);
  $l[7] = explode(',',$lines[6]);
  $l[8] = explode(',',$lines[7]);
  
  //multiply each 
  $result = array();
  $values = array(1,2,3,4,5);
  for($i=0;$i&lt;count($l);$i++){
      for($j=0;$j&lt;count($values);$j++){
      $result[$i+1][$j] = $l[$i+1][$j] * $values[$j];
      }
  }
  //calculate percentages
  
  $p1 = (explode(',',$lines[0]));
  $p2 = (explode(',',$lines[1]));
  $p3 = (explode(',',$lines[2]));
  $p4 = (explode(',',$lines[3]));
  $p5 = (explode(',',$lines[4]));
  $p6 = (explode(',',$lines[5]));
  $p7 = (explode(',',$lines[6]));
  $p8 = (explode(',',$lines[7]));
  
  // calculate averages *****For some reason most recent frequency item updated is off by one, possibly bc not up to date yet???? figure out later!!!
  $f1avg = round((array_sum($result[1])/($total-1)),2);
  $f2avg = round((array_sum($result[2])/($total-1)),2);
  $f3avg = round((array_sum($result[3])/($total-1)),2);
  $f4avg = round((array_sum($result[4])/($total-1)),2);
  $f5avg = round((array_sum($result[5])/($total-1)),2);
  $f6avg = round((array_sum($result[6])/($total-1)),2);
  $f7avg = round((array_sum($result[7])/($total-1)),2);
  $f8avg = round((array_sum($result[8])/($total-1)),2);
  //pie chart 1 information
  $_SESSION['$p1f0s']= round((($p1[0]/$total)*360),2);
  $_SESSION['$p1f1s']= round((($p1[1]/$total)*360),2);
  $_SESSION['$p1f2s']= round((($p1[2]/$total)*360),2);
  $_SESSION['$p1f3s']= round((($p1[3]/$total)*360),2);
  $_SESSION['$p1f4s']= round((($p1[4]/$total)*360),2);
  
  $p1f0 = $_SESSION['$p1f0s'];
  $p1f1 = $_SESSION['$p1f1s'];
  $p1f2 = $_SESSION['$p1f2s'];
  $p1f3 = $_SESSION['$p1f3s'];
  $p1f4 = $_SESSION['$p1f4s'];
  
  echo $p1f2;
  ?&gt;
  </code></pre>
  
  <p>So I tried passing the info from sessions into this:</p>
  
  <pre><code>$p1f0 = $_SESSION['$p1f0s'];
  $p1f1 = $_SESSION['$p1f1s'];
  $p1f2 = $_SESSION['$p1f2s'];
  $p1f3 = $_SESSION['$p1f3s'];
  $p1f4 = $_SESSION['$p1f4s'];
  
  header("Content-type: image/png");
  
  //create pie charts
  $image=imagecreatetruecolor(101,51);
  //_____________________colors____________________________
  $my_colorA=imagecolorallocate($image,51,51,255);
  $my_colorB=imagecolorallocate($image,100,150,215);
  $my_colorC=imagecolorallocate($image,20,20,151);
  $my_colorX=imagecolorallocate($image,216,216,255);
  
  
  $red = imagecolorallocate($image, 255, 0, 0);
  $orange = imagecolorallocate($image, 191, 64, 0);
  $dark_yellow = imagecolorallocate($image, 128, 128, 0);
  $dark_green = imagecolorallocate($image, 64, 191, 0);
  $green = imagecolorallocate($image, 0, 255, 0);
  //_______________________________________________________
  $ptsize=24;$x=20;$y=50;$angle=-10;
  imagefill($image,0,0,$my_colorX);
  
  //__________________ , center,  w , h , st, end, clr  ,    type______
  imagefilledarc($image,50,25, 100, 50,  0,  $p1f0, $red, IMG_ARC_PIE);
  imagefilledarc($image,50,25, 100, 50, $p1f0,  $p1f01, $orange, IMG_ARC_PIE);
  imagefilledarc($image,50,25, 100, 50, $p1f1, $p1f2, $dark_yellow , IMG_ARC_PIE);
  imagefilledarc($image,50,25, 100, 50, $p1f2,  $p1f3, $dark_green, IMG_ARC_PIE);
  imagefilledarc($image,50,25, 100, 50, $p1f3,  $p1f4, $green, IMG_ARC_PIE);
  //___________________________________________________________________
  
  imagepng($image);
  imagedestroy($image)
  </code></pre>
  
  <p>But was unsuccessful.  I keep running into $base64_data when searching this and I kind of understand what that is supposed to do but don't know if that's way off base.  Please help!  And thanks in advance!</p>