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 :
Voici la page securimage_show.php :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 <img id="captcha" src="<?php echo DIR_CLASSES;?>securimage_show.php?sid=<?php echo md5(uniqid(time())); ?>" alt="text Image">
Déjà à ce niveau ci , si j'écris : $_SESSION["test"]="test" , ça ne fonctionne pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 include 'securimage.php'; $img = new securimage(); $img->show();
Voici la partie intéressante de securimage.php
En résultat , cette variable $_SESSION['securimage_code_value'] n'existe pas , hors , j'ai testé $this->code , il est correcte.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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); }
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.
Partager