Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: областьвидимости переменной
 
 автор: Bvz   (04.12.2009 в 11:39)   письмо автору
 
 

есть файл config.php

<?php
$error 
"ошибка 404. Такой страницы не сущеструет.";
$null "в данном разделе информация не обнаружена.";
?>


есть файл functions.php

<?php
// функция загрузки контента
function LoadContent()
    {
        
// получаем данные из адресной строки
        
$module trim($_GET['module']);

        
// защищаем полученные данные от возможных атак
        
if(!preg_match("/^[a-z0-9]+$/i",$module))
            {
                
$module '';
            }

        
// если полученные данные пустые задаем отображение главной страницы
        
if ($module == '')
            {
                
$module "news";
            }

        
// выбираем модуль
        
$sql "SELECT `module` FROM `module` WHERE module='$module'";
        
$mod mysql_query("$sql");
        if (
mysql_num_rows($mod) == 0)
            {
                echo 
$null;
            }
        else
            {
                
$query_mod mysql_fetch_assoc($mod);
                
$file "module/".trim($query_mod['module']).".php";

                
// если полученный модуль существует, подключаем его
                
if (is_readable($file)) {
                    include(
$file);
                } else {
                    echo 
$error;
                }
            }
            };
            
?>


есть файл index.php

<?php
require_once('include/config.php');
require_once(
'include/functions.php');
LoadContent();
?>


и есть файле article.php

<?php

// получаем идентификатор статьи
$id intval($_GET['id']);

// если идентификатор не задан, задаем начальный
if (!isset($_GET['id']))
    {
        
$id 1;
    };

// выбираем статью
$sql "SELECT * FROM `article` WHERE id='$id' AND published=1";
$mod mysql_query("$sql");
if (
mysql_num_rows($mod) == 0)
    {
        echo 
$error;
    }
else
    {
        
// публикуем статью
        
$query_mod mysql_fetch_assoc($mod);
        echo 
$query_mod['title'].$query_mod['article'];

    }
?>


как сделать, чтоб переменные $error и $null были видны в функции LoadContent() и отображались при выполнении файла article.php?

  Ответить  
 
 автор: Drago   (04.12.2009 в 19:37)   письмо автору
 
   для: Bvz   (04.12.2009 в 11:39)
 

>как сделать, чтоб переменные $error и $null были видны в функции LoadContent() и отображались при выполнении файла article.php?

Заменить переменные на константы.
<?
define
('ERROR''ошибка');
function 
foo ()
{
echo 
ERROR;
}
foo();

Сделать в функции эти переменные глобальными.

<?
$error 
'ошибка';
function 
foo () 
{
global 
$error;
echo 
$error;
}
foo();

Передавать переменные как параметры функции.

<?
$error 
'ошибка';
function 
foo ($my_error
{
echo 
$my_error;
}
foo($error);

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования