Variable de session reconnue et non reconnue

Fermé
Math - 11 mars 2008 à 12:49
 Math - 3 juil. 2008 à 02:45
Bonjour,

Voilà j'ai déclaré des varibles de sessions qui permette d'imprimer par la suite un pdf à l'aide de requète sql sous Mozilla c'est nickel puis un ptit test final sous IE 7 pour la forme et là une page blanche.

Après de nombreuses recherche je diminue la sécurité aux maximum afin d'être sur que le blocage ne vienne pas d' IE puis je vide le cache du navigateur dans un second temps hélas aucune de ces 2 solutions ne marche.

Quelqu'un à défaut de pouvoir m'aider pourrait t-il m'expliquer pourquoi cela fonctionne sous Firefox et pas IE, c'est comme si IE vidait ou ne transmettait pas les variables.

Merci de votre aide
A voir également:

4 réponses

De Rien content de voir que la solution sert enfin à quelqu'un car hélas beaucoup de gens pose des questions sans jamais y apporter de solutions moi j'essaye de ne pas faire cela car je ne vois pas l'interet de ne pas donner là solution quand on à la réponse à la question posé
Si tout le monde procédait ainsi on diminuerait considérable le temps passer à rechercher des solutions sur divers forums
1
Voiçi plus de précision

Bonjour à tous,

Voilà je travail actuellement sur un site web ou s'exécute du code php et du Javascript je désire également éditer des fichiers pdf grace à la librairie fpdf cela fonctionne plutot bien
la mon soucis est que pour éditer le pdf désiré je doit transmettre les valeurs avec l'aide de variable de sessions qui sont inséré correctement dans ma requete sql mais ces variables sont désespérement vide
sous Internet Explorer 7 alors que tester avec Mozilla Firefox tout s'exécute normalement (dommage que la majorité des personne utilise IE)

Quelqu'un aurait t'il une solution à ce problème épineux de variable qui se "vide en cours de route" ???

J'ai déjà biensûr essayer diverse solution comme vider le cache du navigateur, enregistrer le pdf sur le disque (résultat page blanche sous IE et Firefox) et diminué au maximun la sécurité d'IE toutes ces tentative se soldant par un échec

Voici le code pour que vous y voyez plus clair :

Code du bouton imprimer (HTML) :

<a href='#' onclick="window.open('competence.pdf.parpersonne.php');return false;">
<input id=competence-pdf-submit type=submit value='Imprimer l évaluation' onClick='imprimeval();'>


Fonction imprimeval() (Fonction JavaScript) :

// IMPRESSION DE L' ÉVALUATION
  function imprimeval(){
    
    var num_ressources =$F('competence-listepersonnel-select'); 
    alert (num_ressources);
    var num_evaluation = $F('competence-listeevaluation-select');
    alert (num_evaluation);
    var evaluateur = $F('evaluateur');
    alert (evaluateur);
    
    var myAjax = new Ajax.Request(
    
      'competence.variablesimpressions.php',
      {
        method: 'post',
        // tramission des valeurs numériques désiré à la page competence.variablesimpressions.php
        parameters: 'mode=imprimeval&num_ressources='+num_ressources+'&num_evaluation='+num_evaluation+'&evaluateur='+evaluateur,
        // permet juste d'afficher un message
        onComplete : gestion_retour  
      }
    );     
  }


Code intégral de la page competence.variablesimpressions.php qui créé les variables de sessions (PHP)

<?php

session_start() ;

$_SESSION['num_ressources']=$_POST['num_ressources'];
$_SESSION['num_evaluation']=$_POST['num_evaluation'];
$_SESSION['evaluateur']=$_POST['evaluateur'];

?>


Enfin ouverture de la page competence.pdf.parpersonne.php (code php intégral)

<?php

session_start();

require('pdf.entetepied.php');
require("class.mysql.php");
require("fonction.php");

//Instanciation de la classe dérivée
$pdf=new PDF();
$pdf->AliasNbPages();
$pdf->AddPage();
$pdf->titre("Liste des Compétences");

$pdf->SetFont('Times','',12);

$db = new mysql();

$nom_prenom=$db->requete_element ("SELECT CONCAT(nom,' ',prenom) ".
                                  "FROM competence_evaluation, ressources ".
                                  "WHERE id_ressources = num_ressources ".
                                  "AND id_ressources = ".$_SESSION['num_ressources']." ");
                                  /*16*/
$info_eval=$db->requete_element ("SELECT CONCAT('par ', nom,' ',prenom) ".
                                 "FROM competence_evaluation, ressources ".
                                 "WHERE evaluateur = 18 ".
                                // ".$_SESSION['evaluateur']."*/
                                 "AND evaluateur = id_ressources ".
                                 "AND id_evaluation = 2 ");
// ".$_SESSION['num_evaluation']."
$date=$db->requete_element ("SELECT date_evaluation ".
                            "FROM competence_evaluation, ressources ".
                            "WHERE evaluateur = 18 ".
                            //".$_SESSION['evaluateur']."*/
                            "AND evaluateur = id_ressources ".
                            "AND id_evaluation = 2 ");
                            //*/
                            
$date2= formater_donnee(jourENtoFR($date));
$info_eval2= formater_donnee($info_eval);
$nom_prenom2= formater_donnee($nom_prenom);

$pdf->Write(45,"Evaluation de $nom_prenom2 le $date2 $info_eval2 ");

$pdf->SetY(50);
$header=array('Catégorie','Compétence','Notation');


$data=$db->requete_tableau("SELECT libelle_categorie, libelle_competence, num_code ".
                           "FROM competence_categorie, competence, competence_note, competence_evaluation, ressources ".
                           "WHERE num_evaluation = 2 ".
                           "AND num_evaluation = id_evaluation ".
                           "AND num_competence = id_competence ".
                           "AND num_ressources = id_ressources ".
                           "AND num_categorie = id_categorie ".
                           "AND num_ressources = 16 ".
                           "ORDER BY libelle_categorie, libelle_competence");


Tableau($pdf,$header,$data);

//".$_SESSION['num_evaluation']."
//".$_SESSION['num_ressources']."

$pdf->Output();


//Tableau amélioré
function Tableau($pdf,$header,$data)
{
    //Largeurs des colonnes
    $w=array(50,50,25);
    //En-tête
    for($i=0;$i<count($header);$i++)
        $pdf->Cell($w[$i],7,$header[$i],1,0,'C');
    $pdf->Ln();
    //Données
    $categorie="";
    $catgorie_identique="";
    foreach($data as $row)
    {     
        if($categorie_identique==($row[0])){
        $T ="";
        $categorie="";
        }
        else{
          $T = "T";
          $categorie=formater_donnee(ucfirst($row[0]));
          $categorie_identique = $row[0];
        }
      
        $pdf->Cell($w[0],5,$categorie,'L'.$T,0,'C');
        $pdf->Cell($w[1],5,formater_donnee(ucfirst($row[1])),$T,0,'C');
        $pdf->Cell($w[2],5,$row[2],'R'.$T,0,'C');
        
        $pdf->Ln();

    }
    //Trait de terminaison
    $pdf->Cell(array_sum($w),0,'','T');
    
  //  unset($_SESSION['evaluateur']);
  //  unset($_SESSION['num_evaluation']);
  //  unset($_SESSION['num_ressources']);
    
}

?>
0
Problème solutionner grâce à l'ajout de ces quelque ligne

// Patch IE

header('HTTP/1.1 200 OK');
header('Status: 200 OK');
header('Pragma: no-cache');
header('Accept-Ranges: bytes');
0
Tu me sauve la vie Math
0