Bonsoir à tous,

Celà faisait quelque temps que je n'étais pas venu vous pourrir avec mes questions à la con :D, et pourtant j'ai pas mal codé et souvent dépatouillé sans votre aide, mais là je séche.

Voici un php de ma conception

<?php
header ("Content-type: image/png");
///////////////////////////
$dbhost2 = ' ***************';
$dbuser2 = ' *************';
$dbpass2 = ' **************';
$db2 = ' ******************';
$dbdns2='mysql:host= *********************; dbname=*******************';
///////////////////////////
extract($_GET);
$bgimage = $bgn;
$cadre = imagecreatefrompng($bgimage);
$font = 'Days.ttf';
$lec=0;
$texte]=array();
$id=str_pad($id, 4, "0", STR_PAD_RIGHT);
$sql1 = "SELECT tracker_pilots.email,tracker_pilots.pilotid,tracker_pilots.ranklevel, tracker_pilots.code, tracker_pilots.totalflights, tracker_pilots.totalhours, tracker_pilots.rankid, tracker_ranks.rankid,tracker_ranks.rank, tracker_ranks.rankimage
    FROM tracker_pilots  
    LEFT JOIN tracker_ranks ON tracker_pilots.rankid = tracker_ranks.rankid
    WHERE pilotid='$id'";
try{
        $DBPDO2 = new PDO($dbdns2,$dbuser2 , $dbpass2,
                        array( PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
        $DBPDO2-> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);

$l=0;
            try{
                    $req1 = $DBPDO2 ->query($sql1);
                    while($d=$req1->fetch(PDO::FETCH_OBJ)) 
                        {   
                            $email=$d->email;   
                            $vol="$d->totalflights Vols";
                            $hour="$d->totalhours Heures";
                            $code= $d->code;
                            $pilotid= $d->pilotid;
                            $rank=$d->rank;
                            $level=$d->ranklevel;
                            $pilotid=str_pad($pilotid, 4, "0", STR_PAD_LEFT);
                            $code="$code$pilotid";

                            $texte]=$code;
                            $texte]='Rang pilote: '.$d->rank;
                            $texte]='Total d\'heures: ' .$d->totalhours. 'Heures';
                            $texte]='Nombres de Vol: ' .$d->totalflights. 'Vols';
                        }
                }
            catch (PDOException $e) {}
}
catch (PDOException $e){}
$color = imagecolorallocate($cadre, 255, 128, 0);
while ($lec<$ligne)
    {   
        $l=$lec+1;
        $xoffset=${'x'.$lec};
        $yoffset=${'y'.$lec};
        $texte$l];

        $police=${'p'.$lec};
        $angle=${'a'.$lec};
        $c1=${'c'.$lec.'1'};
        $c2=${'c'.$lec.'2'};
        $c3=${'c'.$lec.'3'};
        $color = imagecolorallocate($cadre, $c1, $c2, $c3);
        imagettftext($cadre, $police, $angle, $xoffset, $yoffset, $color, $font, $texte$l]);

        $lec=$lec+1;
    }
imagepng($cadre);
?>

Comme ceux ci le code fonctionne parfaitement, mais je suis obliger de mettre en dure les infos de la base de donnée. Pas cool.

j'ai essayé ce code là avec un modification qui d'habitude marche trés bien

<?php
header ("Content-type: image/png");
define('PROTECTIONINCLUDE', TRUE);
include_once 'bdall.php';
extract($_GET);
$bgimage = $bgn;
$cadre = imagecreatefrompng($bgimage);
$font = 'Days.ttf';
$lec=0;
$texte]=array();;
............

bdall.php

<?php
if(!defined('PROTECTIONINCLUDE')){die('Accès Interdit');}
///////////////////////////
$dbhost2 = ' ***************';
$dbuser2 = ' *************';
$dbpass2 = ' **************';
$db2 = ' ******************';
$dbdns2='mysql:host= *********************; dbname=*******************';
///////////////////////////
?>

mais là la génération d'image ne marche pas.

J'ai placé des echos à droite à gauche pour vérifier que ma base de donnée était bien connectée, et tout est bon, y pas de soucis, mais le générateur plante

quelqu'un à t'il une idée de ce qu'il pourrait bien coincé?

merci d'avance de votre aide

Flo

4 réponses


Bonjour,
require_once sera plus adapté
$texte]=array();; c'est normal les 2 ; ?

Je ne vois pas de raison à priori pour que un require plante ton code, il inclut les lignes de code, ça change pas grand chose... enfin sauf si je dis des conneries^^

flo3376
Auteur

il s'agit d'une erreur de frappe, mais qui ne perturbe pas le prg malheureusement, mais merci je l'ai corrigé

Tu as essayé de créer l'image en plaçant des information en dur? Je veux dire au lieu de récupérer les infos de la base, tu met quelque infos directement dans ton script, pour voir si ça ne vient pas des variables qui déconnent, et font planter ton script

flo3376
Auteur

oui je l'ai signalé au début et c'est le premier script que j'ai laissé, en dur RAS, en appelle include, bug de imagepng, et en désactivant imagepng j'ai mis des échos et mes requêtes base bien et j'ai les réponse