[GD] jpgraph - Keine Anzeige.....

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [GD] jpgraph - Keine Anzeige.....

    Ich arbeite mich gerade in das Tutorial zu "jpgraph" ein, aber ich habe folgendes Problem: Ich bekomme keine Grafik angezeigt, d.h. im IE ist das übliche Bild zu sehen wenn keine Grafik da ist.

    Habe PHP 4.3.0, die Angaben in phpinfo() stimmen mit denen im Tutorial überein, d.h. jpgraph müsste eigentlich funzen.
    Hier mein Code:


    (Beispiel aus Tutorial) "linegraph1.php"
    PHP-Code:
    <?php
    include ("jpgraph.php");
    include (
    "jpgraph_line.php");

    // Die Werte der 2 Linien in ein Array speichern
    $ydata = array(11,3,8,12,5,1,9,13,5,7);
    $ydata2 = array(1,19,15,7,22,14,5,9,21,13);

    // Grafik generieren und Grafiktyp festlegen
    $graph = new Graph(300,200,"auto");
    $graph->SetScale("textlin");

    // Die Zwei Linien generieren
    $lineplot=new LinePlot($ydata);

    $lineplot2=new LinePlot($ydata2);

    // Die Linien zu der Grafik hinzufügen
    $graph->Add($lineplot);
    $graph->Add($lineplot2);

    // Grafik Formatieren
    $graph->img->SetMargin(40,20,20,40);
    $graph->title->Set("Example 4");
    $graph->xaxis->title->Set("X-title");
    $graph->yaxis->title->Set("Y-title");

    $graph->title->SetFont(FF_FONT1,FS_BOLD);
    $graph->yaxis->title->SetFont(FF_FONT1,FS_BOLD);
    $graph->xaxis->title->SetFont(FF_FONT1,FS_BOLD);

    $lineplot->SetColor("blue");
    $lineplot->SetWeight(2);

    $lineplot2->SetColor("orange");
    $lineplot2->SetWeight(2);

    $graph->yaxis->SetColor("red");
    $graph->yaxis->SetWeight(2);
    $graph->SetShadow();

    // Grafik anzeigen
    $graph->Stroke();
    ?>

    Und hier die Ausgabedatei "test.php"
    PHP-Code:
    <!doctype html public "-//W3C//DTD HTML 4.0 //EN"
    <
    html>
    <
    head>
           <
    title>Liniendiagramm</title>
    </
    head>
    <
    body>
    <
    center><img src="linegraph1.php" width="300" height="200"></center>
    </
    body>
    </
    html

  • #2
    hast du die datei mal direkt aufgerufen?

    Kommentar


    • #3
      OffTopic:
      ich sach mal nix dazu: ...
      INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


      Kommentar


      • #4
        Original geschrieben von TobiaZ
        hast du die datei mal direkt aufgerufen?
        Nein, noch nicht. Werd ich morgen mal probieren.

        @ Abraxax
        Was soll das heißen?

        Kommentar


        • #5
          Also ich habe es ausprobiert, ich bekomme folgende Fehlermeldung:

          JpGraph Error: No path specified for TTF_DIR. Please specify a path for
          that DEFINE in jpgraph.php


          Die Zeilen in jpgraph.php sehen so aus:

          PHP-Code:
          // Directories for cache and font directory.
          // Leave them undefined to use default values. 
          // 
          // Default values used if these defines are left commented out are:
          // 
          // UNIX: 
          //   CACHE_DIR = /tmp/jpgraph_cache/
          //   TTF_DIR   = /usr/X11R6/lib/X11/fonts/truetype/
          //
          // WINDOWS:
          // CACHE_DIR = $SERVER_TEMP/jpgraph_cache/
          // TTF_DIR   = $SERVER_SYSTEMROOT/fonts/ 
          Nehme ich jetzt die "//" für Windows bei "Cache" und "TTF" raus, bekomme ich erneut eine Fehlermeldung, und zwar passt ihm das "=" nicht.
          Ich kann auch nichts in der Doku finden, was man da als Pfad angeben muss. Oder stimmt das so schon wies da steht und muss nur auskommentiert werden. Aber dann bekomme ich ja die Fehlermeldung mit dem "=".....

          Kommentar


          • #6
            PHP-Code:
            TTF_DIR $irgendwas 
            is kein gültiges php, daher die fehlermeldung

            TTF_DIR ist keine variable,die fangen bei php alle mit $ an, es ist vielmehr ne konstante.

            irgendwo steht
            PHP-Code:
            define('TTF_DIR''wert der konstanten'); 
            danach musst du suchen (evtl. auch nur TTF_DIR und nicht 'TTF_DIR' )
            Ich denke, also bin ich. - Einige sind trotzdem...

            Kommentar


            • #7
              Also ich hab das jetzt mal so abgeändert:

              PHP-Code:
              // Directories for cache and font directory.
              // Leave them undefined to use default values. 
              // 
              // Default values used if these defines are left commented out are:
              // 
              // UNIX: 
              //   CACHE_DIR = /tmp/jpgraph_cache/
              //   TTF_DIR   = /usr/X11R6/lib/X11/fonts/truetype/
              //
              // WINDOWS:
              CACHE_DIR $SERVER_TEMP/jpgraph_cache/
              TTF_DIR   $SERVER_SYSTEMROOT/fonts/
              //    
              //
              //------------------------------------------------------------------------

              // The full absolute name of the directory to be used to store the
              // cached image files. This directory will not be used if the USE_CACHE
              // define (further down) is false. If you enable the cache please note that
              // this directory MUST be readable and writable for the process running PHP. 
              // Must end with '/'
              DEFINE("CACHE_DIR","/images/");


              // Directory for jpGraph TTF fonts. Must end with '/'
              DEFINE("TTF_DIR","c:/windows/fonts/"); 
              Fehlermeldungen:

              Parse error: parse error, unexpected '=' in D:\ONLINE\src\jpgraph.php on
              line 24
              Fatal error: Class lineplot: Cannot inherit from undefined class plot in
              D:\ONLINE\src\jpgraph_line.php on line 24


              Mich wundert ja ehrlich das davon nirgendwo was steht das man diese Sachen abändern und Pfade ergänzen muss....
              Bei der Definition von "TTF_DIR" stand der Pfad für Linux drin, denke mal das der absolut ist und stimmen würde, aber ich hab ja nun das ganze momentan noch für Testzwecke unter Windows laufen. Will der jetzt den TruTypeFont Ordner von Windows oder den von JPGraph ???
              In dem JPGraph Ordner kann ich nichts entdecken mit TTF....
              Habt ihr das alle (die es installiert haben) unter Linux laufen?

              Kommentar


              • #8
                Jetzt geht's!
                Hab die Definition für TTF so gelassen und oben unter "WINDOWS" die Zeilen auskommentiert gelassen, jetzt zeigt er ein Diagramm an. *freu*

                Danke für deine Hilfe!

                *Angst hab davor mrhappiness demnächst für seine vielen unterstützungen zum essen einladen zu müssen*


                Kommentar


                • #9
                  OffTopic:
                  Original geschrieben von el_espiritu
                  @ Abraxax
                  Was soll das heißen?
                  war nur ne fixe idee...
                  INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                  Kommentar


                  • #10
                    Liegt es im Bereich des Möglichen das in der eigentlichen Datei, in der das Diagramm erzeugt wird, KEINE anderen PHP-Infos stehen dürfen???
                    Ich versuche gerade verzweifelt über dem Code-Teil des Diagrammes meine SQL Abfragen zu machen um das Array zu füllen, schon hagelt es Fehlermeldungen:

                    Warning: Cannot modify header information - headers already sent by (output started at D:\ONLINE\linegraph_server.php:22) in D:\ONLINE\src\jpgraph.php on line 6668

                    Warning: Cannot modify header information - headers already sent by (output started at D:\ONLINE\linegraph_server.php:22) in D:\ONLINE\src\jpgraph.php on line 6669

                    Warning: Cannot modify header information - headers already sent by (output started at D:\ONLINE\linegraph_server.php:22) in D:\ONLINE\src\jpgraph.php on line 6670

                    Warning: Cannot modify header information - headers already sent by (output started at D:\ONLINE\linegraph_server.php:22) in D:\ONLINE\src\jpgraph.php on line 6671

                    Warning: Cannot modify header information - headers already sent by (output started at D:\ONLINE\linegraph_server.php:22) in D:\ONLINE\src\jpgraph.php on line 6673

                    Selbst wenn ich meinen Code dann auskommentiere, bleiben diese Fehlermeldungen bestehen. Nur wenn ich ihn komplett rauslöschen, zeigt er wieder das Diagramm an.

                    Kommentar


                    • #11
                      und was steht in zeile 22?
                      Ich denke, also bin ich. - Einige sind trotzdem...

                      Kommentar


                      • #12
                        PHP-Code:
                        <?php
                        include ("db_connect.inc");

                        $conn mysql_connect("$MySQL_Host""$MySQL_User""$MySQL_Pass");
                        if(
                        $conn)
                            {
                            
                        mysql_select_db("$MySQL_Data"$conn);
                            }
                        else
                            {
                            die(
                        "<B>Ein Fehler beim Verbinden mit der Datenbank trat auf:</b> ".mysql_error());
                            }
                        ?>








                        <?php

                        include ("src/jpgraph.php");
                        include (
                        "src/jpgraph_line.php");

                        // Die Werte der 2 Linien in ein Array speichern
                        $ydata = array(11,3,8,12,5,1,9,13,5,7);
                        $ydata2 = array(1,19,15,7,22,14,5,9,21,13);

                        // Grafik generieren und Grafiktyp festlegen
                        $graph = new Graph(500,400,"auto");
                        $graph->SetScale("textlin");
                        ...
                        ...
                        ...
                        usw.
                        Die Datenbankverbindung oben habe ich hinzugefügt, den anderen Teil von mir habe ich schon rausgelöscht. Zeile 22: "<?php"
                        Wenn ich jetzt oben den Datenbank-Teil noch rauslösche, geht's wieder....

                        Kommentar


                        • #13
                          warum hast du zwei php-blöcke?
                          mach doch einen draus
                          Ich denke, also bin ich. - Einige sind trotzdem...

                          Kommentar


                          • #14
                            Original geschrieben von mrhappiness
                            warum hast du zwei php-blöcke?
                            mach doch einen draus
                            Gute Frage. Mach ich eigentlich (fast) immer so, wegen der Übersichtlichkeit. Schadet ja eigentlich nix, aber jpgraph scheint damit ein Problem zu haben....
                            Hab ihn weggemacht, nun geht's...
                            Danke für den Tip!

                            Kommentar


                            • #15
                              liegt dadran, dass das was zwischen den blöckensteht an den browser gesendet wird und daher ne ausgabe is


                              übersichtlicher wird's auch wenn du mit kommentaren arbeitest
                              Ich denke, also bin ich. - Einige sind trotzdem...

                              Kommentar

                              Lädt...
                              X