Bonsoir,

Je code mon site manuellement sans CMS et il se passe quelque chose que je n'arrive pas à comprendre. J'ai des pages à la racine du FTP. Certaines de ces pages effectuent une requête ajax vers d'autres pages situées dans un dossier.

Le problème se situe au niveau des pages situées dans le dossier.

Pou éviter que quelqu'un essaye de trafiquer quelque chose, sur chaque page je vérifie que la personne est connectée via un modèle comme celui là:

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
<?php
Ici la vérification si connecté
 
if(connecte)
{
du code 1
enregistrer($num);
du code 2
laisser($id);
du code 3
 
 
 
 
function enregistrer($num)
{
 
}
 
function laisser($id)
{
 
}
 
 
}
?>
En gros j'ai fais pour que rien ne s'exécute si non connecté.

Mon problème est que les fonctions ne s’exécutent pas si je procède ainsi. "du code 1" est exécuté mais ça s'arrête là, ni la fonction "enregistrer", ni "du code 2" ne sont exécutés, ni la suite.

Par contre, tout fonctionne parfaitement si je n'inclus pas les fonctions dans l'accolade:

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
<?php
Ici la vérification si connecté
 
if(connecte)
{
du code 1
enregistrer($num);
du code 2
laisser($id);
du code 3
}
 
 
 
function enregistrer($num)
{
 
}
 
function laisser($id)
{
 
}
 
 
 
?>
Absolument sans rien modifier d'autre.

Et en faite je ne comprend vraiment pas comment c'est possible ...

Et mon problème est que selon moi, avec ma "solution", quelqu'un pourrait faire un include de la page de mon site, et dessous faire par exemple:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
laisser("quelquechose");
et du coup la fonction "laisser" serait exécutée, puisque pour la lancer rien ne vérifie si la personne est connectée.

Une explication ? Une solution ?

Je suis vraiment curieux de savoir ce qui provoque ça ...

Merci d'avance