Bonjour,
Suite à cette discussion, j'ai mis en place un script PHP sur mon site, appelé par un javascript.
Comme vous pouvez le voir dans la discussion, le script PHP me pose problème. Voici son code :
Notes : "jour" est envoyé en paramètre de xhr.send dans le JS ; provisoirement, j'ai mis l'echo final en commentaire, mais je le laisse pour que vous voyez ce que je veux récupérer.
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 <?php echo "ok1"; include("../../../includes/php/classes/Mysql.class.php"); //Récupération de la date générée dans le JS $jour = $_POST["jour"]; //Récupération des données correspondant à cette date $db2 = new Mysql(); if($db2->Open()) { $sql = "select * from echanges where date=".$jour.";"; $db2->Query($sql); $reponse = $db2->RowA(); $avance = $reponse['avance']; $affectation = $reponse['affectation']; $envoi = $reponse['envoi']; $retour = $reponse['retour']; } echo "ok2"; // echo $avance.",".$affectation.",".$envoi.",".$retour; ?>
Dans celui-ci, je veux aller chercher des infos dans une BDD MySQL. J'utilise alors une classe MySQL (cf. fichier attaché), qu'il faut que j'inclue au début du script. Si je ne l'inclus pas, le script me renvoie une erreur en me disant qu'il ne connait pas la classe MySQL.
Le problème : ce script renvoie bien tout texte placé avant l'include, mais ne renvoie rien de ce qui est placé après ! Dans le code ci-dessus, par exemple, il me renvoie seulement "ok1" mais pas "ok2"... Même chose si je vire la requête SQL et que je mets seulement :
Pour aller fouiller un peu plus loin, j'ai essayé de modifier le fichier class directement. Il y a une ligne "define", puis ensuite la définition de la classe. Si je mets un echo juste après le define, celui-ci est bien renvoyé ; mais pas si je le mets à la fin du fichier, après la définition de la classe...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <?php echo "ok1"; include("../../../includes/php/classes/Mysql.class.php"); echo "ok2"; ?>
Pourquoi la définition de la classe bloque-t-elle mon script ?
Merci d'avance de vos réponses !
++
Partager