Erreur variable non définie dans le fichier php include [dupliquer]

Double Possible:

variable non définie problème avec la fonction PHP

Quelqu'un peut-il me dire pourquoi je reçois des messages d'erreur variables non définis dans Mes fichiers include de PHP?

<?php

$page = 1;

if (isset($_REQUEST['page'])) {
  $page = $_REQUEST['page'];
}

function phpRocks() {
  require("includes/dostuff.php");
}

if ($search) {
  phpRocks();
}

?>

puis à dostuff.php:

<?php echo $page; ?>

C'est l'erreur que j'obtiens:



Avis: variable non définie: page in / dostuff.php sur la ligne 61

Attn bas électeurs/fermer demandeurs: Ne montrent aucun effort de recherche? Comment alors? De quoi d'autre ai-je ajouté? Cela fait une demi-heure que je suis perplexe et je ne trouve aucun autre billet qui réponde à cette question. Est-ce que J'ai besoin d'être un expert PHP pour poster des questions (donc je ne posterais pas de questions!)??

13
demandé sur Community 2012-11-09 19:57:00

4 réponses

mario qu'il a obtenu. Faire ceci:

function phpRocks() {
    global $page;

    require("includes/dostuff.php");
}
10
répondu ell 2012-11-09 15:59:38

vous incluez le fichier dans une fonction. Par conséquent, la portée de toutes les inclus code est le domaine de la fonction. La variable $page n'existe pas à l'intérieur de la fonction. Passer dans:

function phpRocks($page) {
    require "includes/dostuff.php";
}

phpRocks($page);
7
répondu deceze 2012-11-09 16:00:41

ajouter mondiale var en vous fonctionnez comme ça

function phpRocks() {
  global $page;
  require("includes/dostuff.php");
}
2
répondu khaled_webdev 2012-11-09 15:58:49

Vous devez déclarer la variable globale comme ceci:

function phpRocks() {
global $page;           //set variable to global
require("includes/dostuff.php");
}
1
répondu 2012-11-09 16:02:18