IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Tableaux] include avec parametre?


Sujet :

Langage PHP

  1. #1
    Membre du Club Avatar de FraktaL
    Profil pro
    Inscrit en
    Août 2003
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2003
    Messages : 110
    Points : 52
    Points
    52
    Par défaut [Tableaux] include avec parametre?
    bonjour à tous,

    voila j'ai besoin de passer un parametre à une page appelée à l'aide d'un include. Comment puis-je faire ou par quoi remplacer le include pour que ca fonctionne?

  2. #2
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    1 027
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 027
    Points : 1 164
    Points
    1 164
    Par défaut
    tu déclares&assigne la variable avant l'include ?

  3. #3
    Membre du Club Avatar de FraktaL
    Profil pro
    Inscrit en
    Août 2003
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2003
    Messages : 110
    Points : 52
    Points
    52
    Par défaut
    oui.

    en fait j'ai une page en deux parties.
    Je souhaite afficher dans la deuxieme partie le contenu que me renverra une autre page PHP en fonction d'un argument que je connais.

  4. #4
    Membre averti Avatar de gofono_bass
    Inscrit en
    Décembre 2005
    Messages
    383
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Décembre 2005
    Messages : 383
    Points : 448
    Points
    448
    Par défaut
    Bonjour,
    si j'ai bien compris ce que tu veux faire, il n'y a pas besoin de faire quelque chose de spécial.. si t'as declaré et assigné une varibale, le fichier en include (le include vient aprés la decalration) peut le traiter sans probleme.
    c'est bien ce que tu veux non?
    mais pourquoi tu cours?

  5. #5
    Membre du Club Avatar de FraktaL
    Profil pro
    Inscrit en
    Août 2003
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2003
    Messages : 110
    Points : 52
    Points
    52
    Par défaut
    apparement je suis pas très clair (ce qui ne m'étonne pas de moi). Je vais essayer de mieux expliquer.

    j'ai une page php; index.php dont voici le contenu:
    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
     
    <html>
    <head></head>
    <body>
      <div id="page">
        <?php
          include&#40;'../entete.htm'&#41;; 
        ?>
        <div id="panelCentre">
          <?php
            include&#40;$pageOK&#91;$_GET&#91;'page'&#93;&#93;&#41;; 
          ?>
        </div>
      </div>
    </body>
    </html>
    comme vous l'avez compris, cette page doit etre appelée par une autre qui doit lui transmettre en parametre la page à afficher dans panelCentre.

    Jusque là OK.
    On aura donc dans la page appelante quelquechose comme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="./index.php?page=toto.php">aller à toto</a>
    Le problème, et la ou le bas blesse c'est que toto.php a besoin de recevoir un parametre pour savoir le nombre de ligne à afficher. Le lien dans la page appelante doit transmettre ce nombre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="./index.php?page=toto.php&nombre=25">aller à toto</a>
    Mais il ne fait que donner le nombre à index.php qui lui meme INCLU toto.php qui a besoin de ce parametre.

    Le include devrait donc pour bien faire passer ce nombre par exemple en faisant comme un lien:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    include&#40;$pageOK&#91;$_GET&#91;'page'&#93;&#93;.'?nombre=$nombre_pages'&#41;;
    mais il n'en veut pas.

    Comment puis je faire autrement?

  6. #6
    Membre averti Avatar de XtofRoland
    Profil pro
    Inscrit en
    Août 2005
    Messages
    357
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 357
    Points : 392
    Points
    392
    Par défaut
    tu peux utiliser $_GET['nombre'] dans la page que tu inclus.
    si tu veux t'amuser a recuperer dynamiquement les variables contenu dans le tableau c'est possible mais pas utile ds ce cas si.
    Le but de tout developpeur OO est de devenir une référence.
    Mon avatar est un ambigramme, les curieux peuvent le retourner ;-)
    Aider <> Faire a la place de!!!

  7. #7
    Membre du Club Avatar de FraktaL
    Profil pro
    Inscrit en
    Août 2003
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2003
    Messages : 110
    Points : 52
    Points
    52
    Par défaut
    je veux bien faire un $_GET['nombre'] dans la page que j'inclus mais comment lui passer ce nombre en parametre puisque ce n'est pas une URL mais un include et que quand je fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    include&#40;$pageOK&#91;$_GET&#91;'page'&#93;&#93;.'?nombre=$nombre_pages'&#41;;
    il me dit qu'il ne trouve pas la page 'toto.php?nombre=$nombre_pages'

  8. #8
    Membre averti Avatar de sohnic
    Femme Profil pro
    bioinfo
    Inscrit en
    Mai 2003
    Messages
    426
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : bioinfo

    Informations forums :
    Inscription : Mai 2003
    Messages : 426
    Points : 434
    Points
    434
    Par défaut
    Bonjour,
    Ca marchera surement mieux comme ca :
    include($pageOK[$_GET['page']].'?nombre='.$nombre_pages);
    S.
    http://www.noctinfo.fr/

    (\ _ /)
    (='.'=) Voici Lapinou. Aidez-le à conquérir le monde en le reproduisant.
    (")-(")

  9. #9
    Membre du Club Avatar de FraktaL
    Profil pro
    Inscrit en
    Août 2003
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2003
    Messages : 110
    Points : 52
    Points
    52
    Par défaut
    ca ne fonctionne toujours pas, j'ai deux messages d'erreur pour cette ligne:

    -Warning: main(Pages/toto.php?nombre=5): failed to open stream: No such file or directory

    -Warning: main(): Failed opening 'Pages/toto.php?nombre=5' for inclusion (include_path='.;C:/Program Files/EasyPHP1-8\php\pear\')

  10. #10
    Membre averti Avatar de sohnic
    Femme Profil pro
    bioinfo
    Inscrit en
    Mai 2003
    Messages
    426
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : bioinfo

    Informations forums :
    Inscription : Mai 2003
    Messages : 426
    Points : 434
    Points
    434
    Par défaut
    Faut dire qu'un include sert a inclure un fichier, pas une adresse web.
    S.
    http://www.noctinfo.fr/

    (\ _ /)
    (='.'=) Voici Lapinou. Aidez-le à conquérir le monde en le reproduisant.
    (")-(")

  11. #11
    Membre du Club Avatar de FraktaL
    Profil pro
    Inscrit en
    Août 2003
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2003
    Messages : 110
    Points : 52
    Points
    52
    Par défaut
    Le problème c'est qu'ici le fichier à inclure a besoin de connaitre la valeur d'une variable.

    Sinon a part transmettre des valeurs de page en page, y a pas moyen de récupérer une valeur? comment procede t-on normalement dans ces cas la?

  12. #12
    Membre averti Avatar de sohnic
    Femme Profil pro
    bioinfo
    Inscrit en
    Mai 2003
    Messages
    426
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : bioinfo

    Informations forums :
    Inscription : Mai 2003
    Messages : 426
    Points : 434
    Points
    434
    Par défaut
    Soit plus precis dans ce que tu veux faire.
    Ton include est en fait une fonction ? Une page web vers laquelle tu veux te rediriger ? Autre chose ????
    Un include(fichier) est l'equivalent d'un copier-coller de ton fichier ton ton script, rien de plus. Le message est clair, le fichier machin?nombre=5 n'existe pas, et pour cause !!
    Tu ne pourras pas detourner la commande include, mais il en existe surement une autre qui repond a tes besoins.
    S.
    http://www.noctinfo.fr/

    (\ _ /)
    (='.'=) Voici Lapinou. Aidez-le à conquérir le monde en le reproduisant.
    (")-(")

  13. #13
    Membre du Club Avatar de FraktaL
    Profil pro
    Inscrit en
    Août 2003
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2003
    Messages : 110
    Points : 52
    Points
    52
    Par défaut
    oui, je cherche l'équivalent.

    en fait comme tu dis le include est l'equivalent d'un copier-coller du fichier et c'est ce que je veux. Mais si ce fichier a besoin de connaitre le nombre de ligne qu'il doit afficher? inclu ou non il a besoin d'un parametre spécifiant ce nombre. Sauf que s'il est inclu ce n'est pas possible apparement.

    donc je récapitule: je suis sur une page et j'ai un lien qui doit afficher la page index.php dont une partie est le fichier toto.php qui affiche une liste d'éléments dont le nombre doit etre passé en parametre.
    Mais comme cette page est inclue je n'arrive pas à passer ce nombre en parametre. voila

  14. #14
    Membre averti Avatar de sohnic
    Femme Profil pro
    bioinfo
    Inscrit en
    Mai 2003
    Messages
    426
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : bioinfo

    Informations forums :
    Inscription : Mai 2003
    Messages : 426
    Points : 434
    Points
    434
    Par défaut
    Et bien transforme ton toto.php en une fonction qui accepte en argument ton nombre de lignes.
    S.
    http://www.noctinfo.fr/

    (\ _ /)
    (='.'=) Voici Lapinou. Aidez-le à conquérir le monde en le reproduisant.
    (")-(")

  15. #15
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    1 027
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 027
    Points : 1 164
    Points
    1 164
    Par défaut
    J'ai répondu : tu déclares&assigne la variable avant l'include ?

    Mais il fallait bien lire : tu déclares&assigne la variable avant l'include.

  16. #16
    Membre expérimenté

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 278
    Points : 1 639
    Points
    1 639
    Par défaut
    Comme l'écrit Sohnic, un include est un copier-coller de code. Après l'include, c'est comme si le fichier source et le fichier inclus ne faisaient qu'un. Le passage de variable est simplissime :

    Si Index.php est de ce style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $nbre_lignes=25;
    include&#40;'toto.php'&#41;;
    la variable $nbre_lignes sera dispo dans l'inclusion de toto.php, car dans cet exemple toto.php est une partie (il est inclu) du code d'index.php, comme si on l'avait codé en dur dans ce fichier.

  17. #17
    Membre du Club Avatar de FraktaL
    Profil pro
    Inscrit en
    Août 2003
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2003
    Messages : 110
    Points : 52
    Points
    52
    Par défaut
    Citation Envoyé par sohnic
    Et bien transforme ton toto.php en une fonction qui accepte en argument ton nombre de lignes.
    S.
    comment je peux faire ca? (Excuse moi mais je suis débutant en PHP)

    merci beaucoup vg33 je vais tester ca.

  18. #18
    Membre éprouvé Avatar de alain31tl
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 935
    Points : 1 019
    Points
    1 019
    Par défaut
    Salut

    Dans le lien ci-dessous, tu ne passes pas un parametre aprés le (?page=), ...mais une url complete avec parametre.
    Par conséquent, pour ton argument "page", celà restera de l'inconnu car il ne trouve pas l'association.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="./index.php?page=toto.php&nombre=25">aller à toto</a>
    Exemples cohérents (1 parametre) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href=toto.php?nombre=25">aller à toto</a>
    ou bien (3 parametres):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="./index.php?page=toto&nombre=25&bidule=14">aller à toto</a>
    Pour ce dernier, sous réserve que ton argument "page" sache que toto est associé à toto.php. (avec switch par exemple)
    Ce n'est pas parce que les choses sont difficiles qu'on n'ose pas les entreprendre.
    C'est parce qu'on n'ose pas les entreprendre qu'elles sont difficiles.

  19. #19
    Membre averti Avatar de Space Cowboy
    Homme Profil pro
    chomeur
    Inscrit en
    Avril 2005
    Messages
    496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : chomeur

    Informations forums :
    Inscription : Avril 2005
    Messages : 496
    Points : 401
    Points
    401
    Par défaut
    Citation Envoyé par ePoX
    J'ai répondu : tu déclares&assigne la variable avant l'include ?

    Mais il fallait bien lire : tu déclares&assigne la variable avant l'include.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $Nombre = $nombre_pages;
      ou
    $_GET&#91;"nombre"&#93; = $nombre_pages; // Mais je ne sais pas si cet exemple fonctionne sans avoir le paramètre nombre en url.
    include&#40;$pageOK&#91;$_GET&#91;'page'&#93;&#41;;

  20. #20
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 220
    Points : 15 511
    Points
    15 511
    Par défaut
    jette un coup d'oeil dans la FAQ PHP, il y a un exemple de passage de paramètre :
    http://php.developpez.com/faq/?page=...riptdansscript

Discussions similaires

  1. include avec parametre
    Par hypothese dans le forum Langage
    Réponses: 3
    Dernier message: 25/02/2010, 11h32
  2. Réponses: 10
    Dernier message: 01/10/2006, 20h19
  3. [Tableaux] pas de include avec WAMP5
    Par Alexlesilex dans le forum Langage
    Réponses: 17
    Dernier message: 15/06/2006, 14h36
  4. Réponses: 7
    Dernier message: 20/03/2006, 13h19
  5. [Tableaux] problème avec un include
    Par nicoaix dans le forum Langage
    Réponses: 6
    Dernier message: 08/12/2005, 12h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo