Tangrim Des bisous et des nounours ! | Bonjour à vous,
je vais vous exposer un petit probème en php.
Le décor: j'ai une page avec deux div, une à gauche qui contient un formulaire, et qui fera office de menu, et l'autre qui traitera les données de ce formulaire, ça a cette tronche là:
Code :
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
- <head>
- <title>FlexStat</title>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" >
- <link rel="stylesheet" media="screen" type="text/css" title="Flexstat" href="design.css" />
- </head>
- <body>
- <div id="form">
- <?php include("form.php" ); ?> <!-- Le formulaire est généré en php -->
- </div>
- <div id="graph">
- <?php
- $user = "false";
- $mois = "false";
- if (isset($_POST["user"])){
- $user = $_POST["user"];}
- if (isset($_POST["mois"])){
- $mois = $_POST["mois"];}
- if ($mois != "false" ) {
- include("include/affichage_month.php" );
- }
- ?>
- </div>
- </body>
- </html>
|
Et le formulaire:
Code :
- <div>
- <?php
- include_once("../controle/definitions.php" ); //avec les fonctions mysql
- ?>
- <!--form method="POST" action="include/affichage_month.php" enctype="multipart/form-data"-->
- <form method="POST" action="index.php" enctype="multipart/form-data">
- <label>Statistiques par mois : </label>
- <br />
- <select name="mois">
- <option value="1">Janvier</option>
- <option value="2">Fevrier</option>
- <option value="3">Mars</option>
- <option value="4">Avril</option>
- <option value="5">Mai</option>
- <option value="6">Juin</option>
- <option value="7">Juillet</option>
- <option value="8">Aout</option>
- <option value="9">Septembre</option>
- <option value="10">Octobre</option>
- <option value="11">Novembre</option>
- <option value="12">Décembre</option>
- </select>
- <br />
- <label>Utilisateur</label>
- <select name="user">
- <option value="tous">Tous</option>
- <?php SQL_user_form(); //on genere la liste des utilisateurs
- ?>
- </select>
- <input type="submit" name="envoyer" value="générer">
- </form>
- </div>
|
Ca semble assez simple: si on envoie le formulaire, la page index est rechargée en affichant include/affichage_month.php dans la DIV graph.
Mais j'ai l'erreur suivante qui s'affiche (en pleine page):
L'image "http://localhost/monsite/index.php" ne peut être affichée car elle contient des erreurs.
Si j'enregistre cette image, j'ai un fichier index.php.png qui contient le code html de ma page index, avec la DIV "graph" complètement vide.
A noter que dans le fichier de formulaire, si dans action j'appelle action="include/affichage_month.php" (en décommentant la ligne commentée et en commentant celle en dessous), le résultat de mon formulaire est bien appelé, et j'ai mon image, en pleine page.
Voici la page affichage_month, au cas où ça servirait (c'est un grpah créé grâce à libchart):
Code :
- <div>
- <?php
- include_once("../controle/definitions.php" );
- $user = $_POST["user"];
- $mois = $_POST["mois"];
- $listdate=array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31);
- $listjeton=array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
- $listjetonacc=array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
- for ($i = 1; $i<32; $i++){
- $jetonvar=SQL_graph_jeton_month($user, $mois, $i);
- if (count($jetonvar)!=0){
- $listjeton[$i-1]=$jetonvar[0];
- }
- }
- for ($i = 1; $i<32; $i++){
- $jetonvar=SQL_graph_jeton_month_acc($user, $mois, $i);
- if (count($jetonvar)!=0){
- $listjetonacc[$i-1]=$jetonvar[0];
- }
- }
- include "../libchart/classes/libchart.php";
- header("Content-type: image/png" );
- $chart = new VerticalBarChart(1000, 500);
- $serie1 = new XYDataSet();
- $count = count($listdate);
- for ($i = 0; $i < $count; $i++) {
- $serie1->addPoint(new Point($listdate[$i], $listjeton[$i]));
- }
- $serie2 = new XYDataSet();
- $count = count($listdate);
- for ($i = 0; $i < $count; $i++) {
- $serie2->addPoint(new Point($listdate[$i], $listjetonacc[$i]));
- }
- $dataSet = new XYSeriesDataSet();
- $dataSet->addSerie("Graphique 1", $serie1);
- $dataSet->addSerie("Graphique 2", $serie2);
- $chart->setDataSet($dataSet);
- $chart->setTitle("$user" );
- $chart->getPlot()->setGraphCaptionRatio(0.62);
- $chart->render();
- ?>
- </div>
|
J'ai aussi essayé de mettre cela dans ma page index:
Code :
- <?php
- if ($mois != "false" ) {
- echo "<img src=\"include/affichage_month.php\" alt=\"Graph\" \/>";
- }
- ?>
|
Et j'ai... Le mot "Graph" d'affiché, mais pas mon image :s
Le code <img src="include/affichage_month.php" alt="Graph" /> est quant à lui bien affiché dans le code source de la page. Voila, je ne sais vraiment plus où regarder pour trouver ce qui cloche, si vous avez une idée, je suis dessus depuis un moment et je ne vois pas mon erreur.
Merci beaucoup pour vos réponses. ---------------
Des Bisous et des nounours ! | Internet 2025 | Dungeon-Generator
|