Variable de session affectée via page appelée
Bonjour,
J'essaye d'intégrer un "captcha" à mon formulaire , seulement , je n'arrive pas à sauvegarder une valeur dans une variable de session..
Voici la ligne qui appelle le script :
Code:
1 2
|
<img id="captcha" src="<?php echo DIR_CLASSES;?>securimage_show.php?sid=<?php echo md5(uniqid(time())); ?>" alt="text Image"> |
Voici la page securimage_show.php :
Code:
1 2 3 4 5 6
|
include 'securimage.php';
$img = new securimage();
$img->show(); |
Déjà à ce niveau ci , si j'écris : $_SESSION["test"]="test" , ça ne fonctionne pas.
Voici la partie intéressante de securimage.php
Code:
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 32 33 34 35 36 37 38 39 40 41 42 43 44
|
class Securimage {
...
var $code;
var $code_entered;
var $correct_code;
function Securimage()
{
if ( session_id() == '' ) { // no session has been started yet, which is needed for validation
session_start();
}
}
function show($background_image = "")
{
if($background_image != "" && is_readable($background_image)) {
$this->bgimg = $background_image;
}
$this->doImage();
}
function doImage()
{
..
$this->createCode();
..
}
function createCode()
{
$this->code = false;
if ($this->use_wordlist && is_readable($this->wordlist_file)) {
$this->code = $this->readCodeFromFile();
}
if ($this->code == false) {
$this->code = $this->generateCode($this->code_length);
}
$this->saveData();
}
function saveData()
{
$_SESSION['securimage_code_value'] = strtolower($this->code);
} |
En résultat , cette variable $_SESSION['securimage_code_value'] n'existe pas , hors , j'ai testé $this->code , il est correcte.
Lors du passage dans cette classe , ma session est déjà crée et contient déjà d'autre variable.
Pourriez-vous m'éclairer?
Merci d'avance.