Avatar billede jackass- Nybegynder
21. januar 2008 - 09:13 Der er 5 kommentarer og
1 løsning

Visning af graf image

Hej,

Jeg benytter et graf lib til generering af grafer - det kunne fx jpGraph eller GraPHPite. Det er også fint nok - og billede bliver vises fint. Men!:

De data der skal graf'es, hentes fra en mysql db og smides i arrays, og i den forbindelse er SQL forespørgslen brugerafhængig, eksempelvis:

$sql = "select * from table where user_id='{$_SESSION['UserID']}'";

Men så opstår problemet med at vise grafen...

1) Hvis jeg bare include()'er graf .php'en får man fejlen "blabla http headers already sent" fordi outputtet er et billede.

2) Hvis jeg benytter >>> echo "<img src=\"my_graph.php\" border=\"0\"> <<< kan jeg ikke bruge $_SESSION['UserID'] da det er en image source jeg indsætter.

Mit spørgsmål: Hvordan dælen kan jeg bruge fx session variabler, eller url variabler i graf scriptet, samt få det vist på websiden? Det må være mig der overser den åbenlyse mulighed :/

Mvh
/jack
Avatar billede dkfire Nybegynder
21. januar 2008 - 13:33 #1
Du kan sagtens bruge $_SESSION i din my_graph.php fil selv om du kalder den med et img tag, $_SESSION ændre sig ikke af den grund.
En anden mulighed er og så kalde din fil med et par parametre:
<img src=\"my_graph.php?id=etellerandet\" border=\"0\">
Avatar billede jackass- Nybegynder
21. januar 2008 - 13:55 #2
Hvis jeg nu i i min index.php har:

    if ($_SESSION['LoggedIn'])
    {
        echo "<br><br><img src=\"my_graph.php\" border=\"0\"><br><br>";
    }

..og i min my_graph.php med bare et statisk dataset forsøger at bruge fx. en session variabel $_SESSION['UserName'] således:

    $Arial =& $Graph->addFont(new Image_Graph_Font_TTF("arial.ttf"));
    $Arial->setSize(11);
    $titel = $_SESSION['UserName'];
    $Graph->add(new Image_Graph_Title($titel, $Arial));
    $Graph->done();

Så vises grafen fint nok, men uden graf titel. Hvis jeg gør det således:

$Graph->add(new Image_Graph_Title("Hej med dig", $Arial));

..så vises graf titel fint. Så et eller andet må der gå galt.. Nogen ideer? :/
Avatar billede dkfire Nybegynder
21. januar 2008 - 14:07 #3
Ja du mangler session_start() øverst i din my_graph.php fil
Avatar billede jackass- Nybegynder
21. januar 2008 - 14:15 #4
*suk* .. der er næsten ingen grænser for hvor træls det er når man glemmer sådan en lille (men kritisk) detalje. Så er det altid noget at et par friske øjne kan fange fejlen.

Tak for hjælpen, smider du et svar :)
Avatar billede dkfire Nybegynder
21. januar 2008 - 14:26 #5
så gerne :-)
Men kun til 15 point.
Avatar billede jackass- Nybegynder
21. januar 2008 - 14:45 #6
Det kan ikke lade sig gøre, for solen skinner og vinden blæser - også kommer der endda moms og afgifter oveni :O Så det giver lige præcis 60 :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester