Parametres dans un include ??

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Parametres dans un include ??

par risa83 » 04 juin 2007, 16:18

Bah voila, quand on pose une question claire, on obtient une réponse plus précise :)

donc dans ton cas, tu peux te contenter de mettre dans exemple.php qq chose comme
$id = isset($_GET['id']) ?  $_GET['id'] : 15;
Ok j'ai compris le principe

Merci pour tout titerm :wink:

par titerm » 04 juin 2007, 14:05

Bah voila, quand on pose une question claire, on obtient une réponse plus précise :)

donc dans ton cas, tu peux te contenter de mettre dans exemple.php qq chose comme
$id = isset($_GET['id']) ?  $_GET['id'] : 15;

par risa83 » 04 juin 2007, 13:47

Voici un petit bout de mon code :

cat main.php
<?php
  $id=15;
  include('example.php');
?>
cat example.php
<?php
  $id= $_GET['id'];
?>
Mon souci est que example.php est appelé soit par main.php soit par un autre php.
Suivant les appels $id peut ne pas etre renseigné donc je ne peux pas mettre cette variable en globale...

par titerm » 04 juin 2007, 11:52

Tu te trompes certainement qq part.

Si tu est dans le script principale hors de toute fonction,

cat main.php
<?php
$id = 12; // La variable $id est global et disponible partout en global, y compris dans les includes
include('toto.php');
cat toto.php
<?php
var_dump($id);  // Fonctionne et voie bien $id
function toto () {
  var_dump($id);  // ne voie pas $id car on est dans une fonction, si tu veux voir $id ici 2 solutions
  var_dump($GLOBALS['id']);  // Solution 1 : on accede à la super global $GLOBAL
  global $id;
  var_dump($id); // Voie $id car elle a été définie comme une var globale à la ligne précédente
}

Si tu fais ta définition ainsi que l'include dans une fonction ,

cat main.php
<?php
function bingo() {
$id = 12; // La variable $id est local 
include('toto.php');
}
cat toto.php
<?php
var_dump($id); // Fonctionne car on est dans le meme scope que la fonction bingo()
function toto () {
 // Impossible d'acceder ici a $id, $id est une var local a la fonction bingo()
}

par risa83 » 04 juin 2007, 11:16

Si tu veux rendre dispo un parametre pour le code que tu inclues.

il suffit de le définire avant l'include.
Malheureusement de cette manière il n'execute que example.php et ne prend pas en compte le paramètre précédemment défini :(

par titerm » 04 juin 2007, 11:04

On ne peux pas utiliser ce type de syntaxe pour un include.

Imagine que quad tu effectues un include, c'est comme si tu faisais un copier coller du code de l'include dans le script qui l'effectue.

Si tu veux rendre dispo un parametre pour le code que tu inclues.

il suffit de le définire avant l'include.
$id=12;
includee('example.php');
// Accessoirement, tu vire la variable, sinon elle reste dispo jusqu'a la fin du script.
unset($id);

Parametres dans un include ??

par risa83 » 04 juin 2007, 10:59

Bonjour,

Je souhaiterais appeler des paramètres avec un include mais cela ne fonctionne pas ..
include('example.php?id=12');
Si j'appelle uniquement 'example.php' je n'ai aucun souci mais il est impossible de passer des paramètres avec un include car il recherche un fichier inexistant : 'example.php?id=12'
Existe-t-il un moyen de remédier à ce problème ??

Merci