Forum Programmation.php image + variable de session

Posté par  .
Étiquettes : aucune
0
10
oct.
2009
Bonjour,

je voudrais générer une image qui vas me servir de captcha. En gros je veux qu'il soit écrit dans l'image "Quel est la somme de 5 + 2 ?"

Bien sur les chiffres sont généré aléatoirement.

Le problème est qu'il faut que j'enregistre le résultat de l'opération pour pouvoir le comparer avec qu'a saisi l'utilisateur.
Pour se faire j'ai pensé à utiliser les variables de session. Mais je n'arrive pas à accéder aux session lors de la génération de l'image.

Voila un exemple de mon code :

header("Content-type: image/png");
$image = imagecreate(310, 30);
$orange = imagecolorallocate($image, 200, 128, 0);
$noir = imagecolorallocate($image, 0, 0, 0);
imagestring($image, 4, 35, 15, 'Somme de : '.$_SESSION['a'].' + '.$_SESSION['b'].' ? ', $noir);
imagecolortransparent($image, $orange);
imagepng($image);

J'ai aussi essayé de générer les aléatoires et d'enregistrer seulement le résultat dans une session au moment de la création de l'image.
Mais, comme je l'ai dit plus haut je n'arrive pas à accéder aux sessions lors de la création de l'image. Je soupçonne le "header" d'y être pour quelque chose.

Ma question est donc, que faut-il que je fasse pour résoudre mon problème ?

Merci.
  • # session_start()

    Posté par  . Évalué à 4.

    tout est dans le titre ...
    • [^] # Re: session_start()

      Posté par  . Évalué à 2.

      Et avant qu'on me dise "t'as une source ?" :-p

      [http://fr.php.net/session_start]
      • [^] # Re: session_start()

        Posté par  . Évalué à 1.

        merci mais, ca serait trop beau ..
        J'ai déjà un session start d'éffectué et qui fonctionne correctement sur d'autre pages ;)
        • [^] # Re: session_start()

          Posté par  . Évalué à 3.

          Bon et bien je m'excuse, il faut bien refaire un session start (même si la session est déjà lancée) au tout début du script, à la première ligne !

          Merci et encore pardon :P
  • # Ou sans se prendre la tete

    Posté par  . Évalué à 1.

    Un ami avait essayé en prenant une seule image (comprendre : l'image ne changeait jamais) pour un site relativement fréquenté. Pour l'instant, il n'a encore jamais eu de problème.

    Donc en fait, il verifie juste que le champs image du formulaire contient bien "42". Tant que sa marche, il ne voit pas pourquoi il s'embeterait... il a pas tout a fait tort !

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.