session start et fpdf

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : session start et fpdf

Re: session start et fpdf

par LJ01 » 31 janv. 2011, 18:15

bonjour
j'ai toujours le même soucis mais je crois que j'avance ...

ce qui est sur :
- c que mes variables naam et display_year sont bien enregistrées dans la session start (visible http://batenergie.free.fr/index.php/la-charte)
- la syntaxe qui appelle mes variables dans le deuxième fichier php est bonne
$this->Cell(100,10,'profil de '.$naam.'',1,0,'C');

je pense donc que mon soucis vient du fait que mon fichier php qui commande la création du pdf ne trouve pas les variables de la session start, cette partie du code donc ne marche pas ...
<?php 
session_start();  
require('./fpdf.php');
   echo $_SESSION['naam'];
   echo $_SESSION['display_year'];
   
$naam=$_SESSION['naam'];
$display_year=$_SESSION['display_year'];

LJ

Re: session start et fpdf

par LJ01 » 31 janv. 2011, 17:56

bonjour
j'ai toujours le même soucis mais je crois que j'avance ...

ce qui est sur :
- c que mes variables naam et display_year sont bien enregistrées dans la session start (visible ici)
- la syntaxe qui appelle mes variables dans le deuxième fichier php est bonne
$this->Cell(100,10,'profil de '.$naam.'',1,0,'C');

je pense donc que mon soucis vient du fait que mon fichier php qui commande la création du pdf ne trouve pas les variables de la session start, cette partie du code donc ne marche pas ...
Code :
<?php 
session_start();  
require('./fpdf.php');
   echo $_SESSION['naam'];
   echo $_SESSION['display_year'];
   
$naam=$_SESSION['naam'];
$display_year=$_SESSION['display_year'];
LJ

Re: session start et fpdf

par LJ01 » 27 janv. 2011, 21:53

j'ai mis ceci à la fin de mon fichier

Code : Tout sélectionner

$pdf->write(5,$_SESSION['naam']); $pdf->write(5,$_SESSION['year']); $pdf->output($_SESSION['naam']); $pdf->output($_SESSION['year']); $pdf->Output();
mais toujours rien
LJ

Re: session start et fpdf

par enneite » 27 janv. 2011, 18:39

Alors, je ne suis pas ur que cela vienne de là mais dans le code il y a quelque chose qui ne va pas :
echo $_SESSION['naam']; 
echo $_SESSION['year'];
Ce code génère une sortie, or la seule sortie du fichier PDF doit être :
$pdf->Output();
Il faut donc mettre en commentaire toutes les sorties écrites dans ce fichier (comme celles ci-dessus) ou dans les fichiers appelés par celui ci.

Session start et fpdf

par LJ01 » 27 janv. 2011, 17:36

bonjour
je relance ce post car je n'ai pas avancé ...
donc merci d'une aide
LJ

Re: session start et fpdf

par LJ01 » 18 janv. 2011, 22:40

bonsoir
voici comment sont écrites mes variables

Code : Tout sélectionner

//display year if ($display_year == 0) { echo "<div align='right'><strong><font color='$co2_color_title'> ".JText::_('YEAR')."</font></strong> <select name='display_year' default='$select_year' size='1' class='verysmall' id='select'> <option value='2005'>2005</option> <option value='2006'>2006</option> <option value='2007'>2007</option> <option value='2008'>2008</option> <option value='2009'>2009</option> <option value='2010'>2010</option> <option value='2011'>2011</option> <option value='2012'>2012</option> <option value='2013'>2013</option> <option value='2014'>2014</option> <option value='2015'>2015</option> <option value='2016'>2016</option> </select> </div>"; } elseif ($display_year == 1) { } echo "<table width='100%' border='".$bordersize_form."' cellpadding='0' cellspacing='0' bordercolor='".$color_form."'>"; //Dislpay name if ($name_profil == 0) { echo " <tr> <td width='60%'><img src='/modules/mod_CO2profil/image/nom.png' width='25' height='25' align='left'><strong>".JText::_('NAME')."</strong></td> </tr> <tr> <td width='40%'><input type='text' size='17' maxlength='17' name='naam' value='".(isset($_POST['naam'])?$_POST['naam']:'')."'></td> </tr>"; } elseif ($name_profil == 1) { }
pour l'heure je sèche grave
LJ

Re: session start et fpdf

par LJ01 » 18 janv. 2011, 08:35

ok c plus clair je regarderai mieux ce soir pour 'naam', bien que dans le formulaire lorsque je calcul il reprend bien le naam dans les résultats ...
et comme 'year' est bien pris dans la session comment ce fait-il qu'il n'apparaissent pas dans le pdf,est-ce parce que 'naam' n'est pas pris ...
je viens de tester aussi une seule variable 'year' mais idem pas d'affichage dans le pdf ...
avec ceci mes 2 variables arrivent dans le print-r mais toujrous pas dans le pdf ...

Code : Tout sélectionner

$_SESSION['naam'] = $_POST['naam']; $_SESSION['year'] = 'year';
LJ

Re: session start et fpdf

par Ryle » 17 janv. 2011, 23:13

Alors en fait, le print_r (ou var_dump) que t'a demandé xTG te permet de voir le contenu de la session. Elle contient bien sur tous les éléments nécessaire à joomla, mais on voit également apparaitre tes deux variables "naam" et "year". Cela veut dire que tes variables sont bien enregistrées dans la session et que tu peux les récupérer comme bon te semble.

On voit également la valeur de tes variables :

Code : Tout sélectionner

[naam] => [year] => year
Donc ta variable $_SESSION["year"] contient la valeur "year", mais ta variable $_SESSION["naam"] est vide. Du coup quand tu essayes de l'afficher dans le pdf, tu ne vois rien...

Le soucis viendrait donc du moment où tu affectes tes valeurs à tes variables :
$_SESSION['naam'] = $_POST['naam'];
$_SESSION['year'] = $_POST['year'];
Il faudrait vérifier ici que $_POST['naam'] n'est pas vide... et donc que dans ton formulaire tu envois bien ce champ (en faisant attention aux majuscules/minuscules, etc.)

Re: session start et fpdf

par Invité » 17 janv. 2011, 22:08

ulala je suis débutant donc pas tout bien compris
ne soyez pas avare d'explication pour moi ....
LJ

Re: session start et fpdf

par Ryle » 17 janv. 2011, 20:41

A priori les deux variables que tu as défini en session sont bien présentes et apparaissent dans le tableau $_SESSION :

Code : Tout sélectionner

Array ( ..... [naam] => [year] => year)
La première (naam) est vide, mais la seconde est bien renseignée. Il faut donc vérifier le moment où tu la renseignes, car "à priori" ton pdf affiche bien la valeur en session, qui est une chaine vide :)

Re: session start et fpdf

par xTG » 17 janv. 2011, 19:51

Donc les fonctions sont bien actives.
Ce qui semblerait impliquer que Joomla formate les variables sessions.
Ce n'est qu'une hypothèse bien sûr vu que je ne connais pas du tout son système.
Mais il semblerait qu'il mette en cache dans une variable à lui les variables de session en début de script (initialisation Joomla) puis remet cette variable dans le tableau $_SESSION en écrasant tout ce qu'il y avait.
Regardes donc l'API Joomla pour voir s'il n'y a pas des fonctions pour manipuler les sessions, et plus particulièrement les variables de session.

Edit : en effet j'avais mal lu le retour, elles sont bien présentes.

Re: session start et fpdf

par Invité » 17 janv. 2011, 18:46

ca me ramène cela

Code : Tout sélectionner

Array ( [__default] => Array ( [session.counter] => 9 [session.timer.start] => 1295281766 [session.timer.last] => 1295282658 [session.timer.now] => 1295282715 [session.client.browser] => Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.10 (KHTML, like Gecko) Chrome/8.0.552.237 Safari/534.10 [registry] => JRegistry Object ( [_defaultNameSpace] => session [_registry] => Array ( [session] => Array ( [data] => stdClass Object ( ) ) ) [_errors] => Array ( ) ) [user] => JUser Object ( [id] => 0 [name] => [username] => [email] => [password] => [password_clear] => [usertype] => [block] => [sendEmail] => 0 [gid] => 0 [registerDate] => [lastvisitDate] => [activation] => [params] => [aid] => 0 [guest] => 1 [_params] => JParameter Object ( [_raw] => [_xml] => [_elements] => Array ( ) [_elementPath] => Array ( [0] => /mnt/159/sdd/e/a/batenergie/libraries/joomla/html/parameter/element ) [_defaultNameSpace] => _default [_registry] => Array ( [_default] => Array ( [data] => stdClass Object ( ) ) ) [_errors] => Array ( ) ) [_errorMsg] => [_errors] => Array ( ) ) ) [naam] => [year] => year )
LJ

Re: session start et fpdf

par xTG » 17 janv. 2011, 18:28

Tu ne remplaces rien tu le rajoutes.
C'est pour voir le contenu du tableau $_SESSION. ;)

Re: session start et fpdf

par LJ01 » 17 janv. 2011, 17:29

merci pour la réponse mais je dois remplacer quoi au juste ...
par le "print_r($_SESSION);" ??

Lj

Re: session start et fpdf

par xTG » 17 janv. 2011, 15:58

Je ne connais pas Joomla ne l'ayant jamais utilisé mais n'utilise-t-il pas déjà les sessions ?
Essayes dans tous les cas un :
print_r($_SESSION);
plutôt qu'un affichage d'index nommé, tu seras rapidement fixé.