• ベストアンサー

JpGraphのグラフをうまくサイトにはめ込みたいが・・

JpGraphを使用してデータベースから抽出したデータをサイトに 表示したいと思っています。 メインのサイトから、 名前、パスワード、期間等を入力ポストして、 次画面にてグラフ表示したいと思っています。 グラフ表示するだけなら、メインサイトで <form method="post" action="graph.php"> <input type="text" name="name"> : </form> で graph.php内でデータ抽出・グラフ出力でOKだと思うのですが、 次画面ではグラフだけでなく<html>に埋め込んだ形でいろいろと 他の情報も表示したいと思っています。 <html> <body> 検索結果・・・ <img src="graph.php"> : graph.phpには名前やパスワード等の情報も送らなければいけないので どのような方法で行なわなければいけないのか、よくわかりません。 お知恵お貸しください。

  • PHP
  • 回答数2
  • ありがとう数3

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

>名前やパスワード等の情報 通常イメージをはかせるときはgetでパラメータわたししますが、 流石にパスワードなどはまずいですね。 ひとつはauthを設定しておく手があります。 ユーザー名やパスワードはauthを通ってきているのであれば 入力する必要はないでしょう。 もうひとつはセッションを利用する。 セッション内でユーザー名とパスワードを管理すれば、 こべつのファイルに対して設定する必要はなくなります。 場合によってはクッキーでも同様の管理ができるかもしれません

masa328
質問者

お礼

ありがとうございました。やはりセッションやクッキーを 使う必要があるのですね。 別の理由でクッキーも使っているのでこれをうまく 利用したいと思います。ありがとうございました。

その他の回答 (1)

回答No.2

2つの方法を紹介します。 1. graph.php側で受け取るパラメータをPOSTではなくGETにしておいて、 イメージタグの中で、 <img src="graph.php?parameter1=xxxxxx&parameter2=yyyyyyy&para......" /> と言う風にHTMLから呼び出せば、HTMLに貼り込む事が出来ます。 名前やパスワードと言う事でしたら、urlencodeする必要があります。 2. 別の方法としては、POSTしたパラメータをセッションに入れ、graph.phpをイメージタグで呼び出せば良いと思います。 $_SESSION[user] = "名前"; $_SESSION[pass] = "パスワード";

masa328
質問者

お礼

ありがとうございました。 参考にさせていただきました。

関連するQ&A

  • POSTで受け取った値をもとにJpGraphでグラフ化したいです。

    こんにちは。 いつもお世話になっております。 今グラフPHPを↓のように書いています。 <?php require_once("jpgraph/jpgraph.php"); require_once("jpgraph/jpgraph_line.php"); //グラフの作成 $a = 75; $b = 24; $c = 5; $d = 56; $e = 12; $graph = new Graph(400,300,"auto"); $graph->SetScale("textlin"); $label = array("Apr","May","June","Lul","Aug"); $graph->xaxis->SetTickLabels($label); //拝啓の色指定 $graph->ygrid->SetFill(true,'#EFEFFF@0.5','#DDEEFF@0.5'); //線1のプロット $data = array($a,$b,$c,$d,$e); $plot = new LinePlot($data); $plot->mark->SetType(MARK_FILLEDCIRCLE); $plot->mark->SetFillColor("blue"); $plot->mark->SetWidth(3); $plot->SetColor("blue"); $plot->SetLegend(total); $graph->Add($plot); これ↑は、ちゃんと表示されたので、 $a = 75; に入っている部分を、 $a = $_POST["1gatu"]; $b = $_POST["2gatu"]; にしてみたのですが、折れ線のない グラフだけ(枠組みだけ)が表示されて しまいます。 JpGraphでは、このような使い方は 出来ないのでしょうか・・・・? どうかご指導よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • JpGraphを使ってみたいのですが…

    こんにちは。 いつもお世話になっております。 JpGraphというものがあるのを知って、 使ってみたいと思ってさっそくインストール したのです。 php.iniを書き換えて、JpGrapgの インストールまで終了しました。 phpinfo()でGDが有効になっているのも 確認しました。 簡単なサンプルを実行してみたのですが エラーが出てきます。 どなたかご指導していただけないでしょうか・・ PHPの中身 <?php include("ijpgraph/jpgraph.php"); include("jpgraph/jpgraph_pie.php"); //グラフの作成 $graph=new Graph(300,200,"auto"); //線1のプロット $data=array(75,56,24,12,5); $plot->new PiePlot($data); $graph->Add($plot); $graph->Stroke(); ?> エラー内容 Parse error: syntax error, unexpected T_STRING in C:\Apache\Apache2\htdocs\graph\test.php on line 10 どうかよろしくお願いいたします。

    • ベストアンサー
    • PHP
  • JpGraphについて

    JpGraphを使ったグラフ用のファイル graph.php をindex.phpにインクルードさせようと思って <html> <body> 中身中身中身 <? require_once("graph.php"); ?> </body> </html> と記述したとたんにエラーがでちゃいます・・。 エラー内容は 中身中身中身 ----------------------------------------------- JpGraph Error: HTTP headers have already been sent. Caused by output from file index.php at line 24. ----------------------------------------------- <? require_once("graph.php"); ?> <html> <body> 中身中身中身 </body> </html> これだとグラフ表示はされるのですが、htmlの中身を読んでくれないです。 requireがだめならば、includeでもためしてみました。 グラフ表示するためには何をしたらよいでしょうか? アドバイスお願いします。

    • 締切済み
    • PHP
  • MysqlデータをJpgraphで表示できません

    Mysqlからデータを取り出してphpにてjpgraph画像を作りたい思っているのですが、 どうもできません。 phpコードはこちらになります。-------------------- <?php // データベースに接続 if(!$con=mysql_connect("127.0.0.1","root","xxxxx")){ echo"接続失敗"; exit; } // データベースを選択 if(!mysql_select_db("stock",$con)){ echo"database select error"; exit; } // SELECT文を実行 $sql="SELECT * FROM `tstock`" ; if(!$res=mysql_query($sql)){ echo "SQL error cannot connect mysql table<BR>"; exit; } // 全人数を格納 $all_num=0; while($row=mysql_fetch_array($res)){ $all_num+=$row["KO"]; } // データ取得位置を先頭に戻す if (!mysql_data_seek ($res, 0)){ echo "データ取得位置の移動失敗<BR>"; exit; } //折れ線グラフの表示 ------------------------- require_once("jpGraph/jpgraph.php"); require_once("jpGraph/jpgraph_line.php"); require_once("jpGraph/jpgraph_canvas.php"); // データ $xdata = array(); while($row=mysql_fetch_array($res)){ $ydata = array($row['KO']); } //グラフ作成 $graph = new Graph(600,500,"auto"); $graph->img->SetImgFormat("png"); $graph->SetScale("textlin"); $graph->title->Set("Line Plot Example"); $graph->xaxis->SetTickLabels($xdata); $graph->xaxis->title->Set("Month"); $graph->yaxis->title->Set("y-title"); $lp1 = new LinePlot($ydata); $lp1->SetLegend("Temperature"); $graph->Add($lp1); $graph->Stroke(); // 結果セットの解放 mysql_free_result($res); // データベースから切断 mysql_close($con); ?> --------------------------------------------------- グラフ用データを手入力 $ydata1 = array(83,19,20,40,50); とするとグラフが描けるのですが、 以下からMYSQLデータを引っ張るとエラーがでてグラフを 作ることができません。 $xdata = array(); while($row=mysql_fetch_array($res)){ $ydata = array($row['KO']); } ------------------------------------------------------- mysql接続確認は別のファイルにて試したところ ちゃんとHTML上で接続と、mysqlのデータを表示 することができます。 どうすれば折れ線グラフを描くことができるのでしょうか?

    • ベストアンサー
    • PHP
  • MYSQLからのarrayデータをjpgraphに表示

    いつもお世話になっています。 MYSQLからデータをarrayで受け取りjpgraphに表示したいのですが SQL、PHP、jpgraphの設定は大丈夫で、 以下抜粋 <?php require_once 'jpgraph.php'; require_once 'jpgraph_bar.php'; $xdata = array('Jan','Feb','Mar','Apr','May'); $graph = new Graph(200,150,'auto'); $graph->SetScale('textlin'); $graph->xaxis->SetTickLabels($xdata); $ydata1 = array(13,9,17,8,13);←ここの部分で の配列を手入力だと問題ないのですが、 <?php mysql_connect('localhost','root','xxxx'); mysql_select_db('xxxxx'); $sql = "SELECT * FROM kaiin WHERE shimei LIKE '%あ%'"; $result = mysql_query($sql); $sp_arr = array(); while($row = mysql_fetch_array($result)){ $sp_arr[] = $row["renban"]; } このSQLからのデータ配列を折れ線グラフにしなくてはならないのですがどうにも動かず、arrayをSESSONでやりとりする予定でいますが、print_rでも中身は見えませんので見当もつかず困っています。 別ページでも扱えるようにセッション変数でのやりとりも含めて 教えていただきたいのですが、どなたかご教授いただけないでしょうか?

    • ベストアンサー
    • PHP
  • JpGraph 折れ線グラフ MySQL  PHP 

    こんにちは。いつも御世話になっております。 PHPでJpGraphを使用している者です。MySQLのデータベースを用いてJpGraphで雨量の折れ線グラフを出したいと思っています。 グラフは一応でたのですがグラフの左側に最新のデータがきてしまいます。どのようにしたら良いのでしょうか。 最新の50件を表示したいです。 $res = mysql_query("select * from tokyo order by hizuke desc,jikan desc,hizuke LIMIT 50"); プログラムのどこを載せたら良いのかわかりませんが、アドバイスよろしくお願いします。 本当に困っているのでどなたか教えてくださるととても助かります。

    • 締切済み
    • PHP
  • jpgraph が表示されない

    以下の環境でjpgraphでグラフを表示されません(画像が存在しないような×印になる)。どこか設定を変更・調整する点は無いでしょうか? 宜しくお願いいたします。 ・php5 ・linux(FedoraCore5) ・http://www.asial.co.jp/jpgraph/japanese.php の設定は完了。 ・サンプル(~jpgraph/Examples/各.php)は表示されることを確認。 ・バグトラッキングシステム mantis で使用。

    • 締切済み
    • PHP
  • JpGraphがうまく設定できない?

    自分のPCにJpGraphをいれることにしました。 PHPのiniファイルを直し、JpGraphのconfig.incも サイトを参考に書き直したのですが、そのサイトにあるサンプルの ソースを表示しようとすると以下のエラーがでます。 Warning: main(JpGraph/jpgraph.php): failed to open stream: No such file or directory in D:\Apache2\htdocs\g.php on line 3 Fatal error: main(): Failed opening required 'JpGraph/jpgraph.php' (include_path='D:\php\include\JpGraph') in D:\Apache2\htdocs\g.php on line 3 パソコンの環境を簡単に説明すると、Apach,phpともにDドライブにおいてあります。 PHPのiniファイルには、 include_path="D:/php/include"を設定し、D:\php\include\JpGraphというフォルダに、解凍したjpgraphの中身をすべて入れました。 JpGraphのconfig.incには、 DEFINE("TTF_DIR", "c:/winnt/fonts/"); DEFINE("MBTTF_DIR", "c:/winnt/fonts/"); DEFINE('MINCHO_TTF_FONT', 'MSMINCHO.TTC'); DEFINE('PMINCHO_TTF_FONT', 'MSMINCHO.TTC'); DEFINE('GOTHIC_TTF_FONT', 'MSGOTHIC.TTC'); DEFINE('PGOTHIC_TTF_FONT', 'MSGOTHIC.TTC'); を記載しました。 あとは、 http://www.gadgety.net/shin/tips/win/jpgraph.html のサイトにあった、円グラフを書くサンプルをそのままコピーして、 Apachのところにいれただけです。 何が間違っていてエラーがでるのでしょうか?

    • ベストアンサー
    • PHP
  • jpgraphで円グラフの絶対値を表示する方法

    PHP+gd+jpgraphで円グラフの作成を試みています。描画そのものはできたのですが、初期値で%表示になっているラベルを絶対値(値そのもの)の表示に変更できず困っています。 jpgraphのマニュアルによると、 $p1->SetLabelType("PIE_VALUE_ABS"); にするとよいと書かれている(と思う)のですが、%表示しかしません。 jpgraph_pie.phpの初期値も DEFINE("PIE_VALUE_ABS",1); DEFINE("PIE_VALUE_PER",0); から DEFINE("PIE_VALUE_ABS",0); DEFINE("PIE_VALUE_PER",1); に変更してみましたが、まったく変わりません。 どうすれば値を表示できるでしょうか?

    • ベストアンサー
    • PHP
  • xamppにおけるjpgraphの設定について

    xampp1.7.3においてJpGraphを正常に起動させる方法を教えてください。 JpGraph3.5.0をダウンロード、解凍しxampp1.7.3のC:\xampp\php\の直下にコピーし、xampp1.7.3内のsrcディレクトリーを「jpgraph」とrenameしてC:\xampp\php\の直下にコピーしました。 また、jpgraph内のExamplesディレクトリーからaccbarex1.phpファイルをC:\xampp\htdoc\直下にコピーします。 その後、php.iniの;extension=php_gd2.dllから、コメントを外しextension=php_gd2.dllに変更。 また、php.iniのインクルードパスをinclude_path= ".;C:\xampp\php\pear\;;C:\xampp\php\jpgraph\"に変更し、xamppを再起動し、ブラウザから「http://localhost/accbarex1.php」にアクセスすると、 Warning: require_once(jpgraph/jpgraph.php) [function.require-once]: failed to open stream: No such file or directory in C:\xampp\htdocs\accbarex1.php on line 3 Fatal error: require_once() [function.require]: Failed opening required 'jpgraph/jpgraph.php' (include_path='.;C:\xampp\php\PEAR,C:\xampp\php\jpgraph\') in C:\xampp\htdocs\accbarex1.php on line 3 とエラーが表示され、jpgraphが起動しません。 なお、accbarex1.phpファイルは以下のように記述しています。 <?php // content="text/plain; charset=utf-8" require_once ('jpgraph/jpgraph.php'); require_once ('jpgraph/jpgraph_bar.php'); $data1y=array(-8,8,9,3,5,6); $data2y=array(18,2,1,7,5,4); ・ ・ ・ 動作環境は、 windows7 HomePremium xampp 1.7.3 Apache 2.2.14 php 5.3.1 としています。 どうしても、jpgraphが起動しない原因が分かりません。 何卒、皆様のお知恵を拝借し、問題を解決したいと考えております。 どうか、適切なご教示を宜しくお願い致します。

    • 締切済み
    • PHP

専門家に質問してみよう