Как передать переменную в прикрепляемый файл?

Статус
В этой теме нельзя размещать новые ответы.

garisson

Создатель
Регистрация
25 Апр 2008
Сообщения
36
Реакции
5
Помогите пожалуйста.
Необходимо передать переменную в прикрепляемый (require include) файл. Переменная лежит в массиве $_GET и меняется от страницы к странице. То есть необходимо в зависимости от этой переменной по разному выполнять включаемый файл. Включаемый файл состоит как из своих внутренних функций (function) так и из обычных блоков if else, while.
 
не вижу проблемы. напиши в прикрепляемом файле примерно следующее:
PHP:
if($_GET['param']=='значение1')
{
    //делаем чтонибудь
}
else if($_GET['param']=='значение2')
{
    //делаем еще чтонибудь
}
//и так далее
 
PHP:
switch ($_GET['param']) {
        case 'value1' : команды при value1;
        case 'value2' : команды при value2;
        case 'valueN' : команды при valueN;
        default: команды по умолчанию;
}
Конечно лучше вместо "команды при value" написать функцию, и на сколько я помню это функции надо описывать до блока switch.
 
Может, имелась в виду передача переменной и инклуд в зависимости от неё? Тогда будет include ("./".$_GET['param'].".php"); ну, или что-то в этом роде
 
какая разница? при include/require все файлы подключенные в один скрипт вроде сливаются
 
Вот то, чего нужно ТС. Прошу обратить внимание, что включать файл по GET/POST-параметрам ооочень нехорошо.
Намного лучше составить список разрешенных ко включению файлов и проверять наличие параметра-имя-файла в этом массиве.
Ну а так, в упрощенном варианте, будет выглядеть примерно следующим образом:

PHP:
<?php
		$file = $_GET['myParam'];
		if(substr_count($file, '../') == false) {
			if(file_exists($file)) {
				
				// Весьма рисковая операция, кстати говоря
				include $file;
			}
		}
?>

Miraage, у этих двух функций одинаковые последствия, но разные механизмы работы. require загружает файл по ходу разбора скрипта (и, соответственно, требует наличия файла) а include - по ходу исполнения скрипта.
Поэтому, если вы беспокоитесь об оптимизации и ваш скрипт представляет собой многое количество ветвлений - лучше использовать include с проверками ;)
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху