1

Bonjour !

Je souhaite faire passer un paramètre (ou plusieurs) via l'URL vers le fichier source.
Par exemple :

// get the HTML
ob_start();
include(dirname(__FILE__).'/exemple.php?id_commande='.$id_commande);
$content = ob_get_clean();

Mais ça ne marche pas, il semble que cela ne reconnaisse pas un nom de fichier avec des paramètres. J'imagine que la solution est simple et que c'est une problématique courante, mais je ne suis pas un expert du PHP ! Comment faire ?

Merci d'avance !

2

Salut Bolino,

Je te conseille de lire la doc sur la portée des variables en PHP : http://php.net/manual/fr/language.variables.scope.php

Et si dans exemple.php tu tentes de récupérer ton id via le tableau GET ou REQUEST, je te recommande également celle sur les superglobales (GET, POST etc.) : http://fr2.php.net/manual/fr/language.variables.superglobals.php

Tu y trouveras la solution à ton problème et ça t'évitera de longues heures de débugage si tu maîtrises ces deux concepts smile

Et si tu ne veux pas prendre le temps, voici un script d'exemple qui fait ce que tu veux :
<?php
if(empty($plop)){
    echo 'C\'est toi que je t\'aime...' ;
    $plop = true ;
    include(__FILE__);
}else{
    echo 'vachement beaucoup !' ;
}
?>

3

Salut Squallynou,

Oui je récupère ma variable via un GET.
Si je comprends bien, je peux reprendre ma variable dans exemple.php sans la faire passer par l'URL, si c'est une superglobale, c'est ça ?

4

On dirait qu’il y en a un qui s’ennuie.

5

bolino (./3) :
Si je comprends bien, je peux reprendre ma variable dans exemple.php sans la faire passer par l'URL, si c'est une superglobale, c'est ça ?


Non les superglobales sont des variables définies par PHP. Tu ne peux pas en déclarer. Tu peux par contre déclarer une variable "globale" lorsque tu veux augmenter sa portée (ça l'ajoute en fait à la superglobale "$GLOBALS"

Mais pour ton cas, tu n'as pas besoin de le faire : ton script principal et ton script exemple.php que tu inclus dedans ont le même scope, donc ton script exemple.php a accès aux variables définies par le script principal smile
Bovido:
On dirait qu’il y en a un qui s’ennuie.


Nan j'ai plein de taff en retard, mais aider qq1 en faisant un peu de pédago de temps en temps c'est plus utile qu'un simple RTFM imprécis et/ou un code tout cuit wink

6

Merci beaucoup, c'est clair !