Bonjour à tous,
Comme vous pouvez le lire dans le titre, j'ai remarqué qu'en utilisant phplib et firefox, on se retrouve confronté à un problème : les fonctions sont appelées deux fois. Voici un exemple :
Comme vous avez pu voir, j'ai mis un error_log() qui écrit dans mon fichier de log lorsque la méthode est appelée.
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59 <? // Run session session_start() ; // include libraries include "../../include.php"; include "Search.class.php"; include "../User.class.php"; // Instanciate UserList Object Scenario $O_Search = new Search() ; if ( isset( $_GET[ "act" ] ) && $_GET[ "act" ] == "End" ) { // Finish scenario $O_Search->End() ; } else if ( isset( $_GET[ "act" ] ) && $_GET[ "act" ] == "UpdateStatus" ) { // Finish scenario $O_Search->UpdateStatus() ; } else { // Run scenario $O_Search->Begin( true ) ; } ?> -------------------- Méthodes de la classe ------------------------- public function End() { error_log("end\n", 3, 'log.txt'); parent::End( true ) ; $s_TplMap = $this->TplMap() ; try { // no result found ? $this->_AltNoResult() ; } catch ( ModelException $O_TplException ) { $s_TplMap = $O_TplException->getTplMap() ; } catch ( TechnicException $O_TplException ) { $s_TplMap = $O_TplException->getTplMap() ; } $O_TplDisplay = new TplDisplay( new Tpl( $s_TplMap , true ) , BUFFER_ON ) ; $O_TplDisplay->Display() ; }
Après l'appel de la page do.php, avec $_GET['act'] = 'End' (qui entraine l'appel de la méthode End() ), je constante que dans mon log j'ai :
end
end
La fonction est appelée deux fois et celà seulement lorsque l'on utilise firefox. Dans le script présenté ca ne pose pas vraiment problème mais dans d'autres dans lesquels j'ai des insertions dans la BDD, je me retrouve avec :
DELETE ...
INSERT ...
DELETE ...
à la place de mon :
DELETE ...
INSERT ...
Ce qui entraine la suppression des enregistrements venant d'être insérés!
J'ai cherché des réponses à ce problème mais en vain.
Avez-vous déjà entendu quelque chose à propos de ce problème ?
Partager