Здравствуйте! как можно переменную $num, которая находится в файле file1.php использовать в другом файле file2.php?? я пробовал использовать include/include_once и require/require_once, но они все выполняют весь файл file1.php, а мне нужна одна переменная $num! помогите пожалуйста заранее благодарю!
Вообще, никак. Узнать можно значения только тех данных, которые находятся в памяти или были туда переданы соответствующим образом. Один файл не может знать о существовании другого никоим образом, пока это принудительно не указано. Мне вот лично не понятно совершенно, что может понадобиться из переменной другого файла без его исполнения? Она или пустая, или значение у неё статическое. Скрипт никак не может узнать о значении другой переменной, нужно ему её передать, для этого существует запросы GET, POST, COOKIE, а также сессии. Можно, конечно, распарсить файл ... но нафига оно нужно.
у меня значение переменной $num задаётся в index.php и потом используется в нескольких последующих файлах, которые используются, только после index.php!! Apple, а не подскажешь как через запросы GET, POST или COOKIE можно передать значение переменной в другой файл????
cannyLaff, вынеси переменную $num в , скажем, файл constants.php и подключай этот файл везде с помощью require
TheShock я думал так сделать, но у меня эта переменная преобретает новое значение в файле индекс.пхп!! ...хм а если я её значение буду менять в других файлах, то её значение будет менятся в констант.пхп, да????
Функции и классы - если нужно вынести определённый функицонал для получения значения сессии - если нужно временно сохранить значение БД/файлы - если нужно хранить статичное значение
index.php PHP: <? error_reporting(E_ALL); session_start(); $_SESSION['executed'] = "Yes, it was"; ?> another.php PHP: <? if(isset($_SESSION['executed'])) { // Инструкция выполнения echo $_SESSION['executed']; // Можно так (аккуратней с этим) extract($_SESSION); // Теперь выводим переменную echo $executed; } ?>
спасибо, Apple правда у меня выбивает, вот такую вот ворнинг: Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\Program Files\Apache Group\Apache2\htdocs\dbRestaurant\index.php:2) in ...\index.php on line 3 3-я строчка: session_start(); в чем проблема, подскажите??
Строчка session_start должна идти раньше, чем будет оправлен любой вывод. Т.е, формально говоря в самом начале скрипта. Если скрипт что-то выводит, пусть даже пробел, то эта функция работать не будет.
Не существует прошлой или будущей сессии; есть только настоящее. Есть сессия, которая хранится какое-то время (до закрытия браузера) и этим значением можно манипулировать. Никаких прошлых или будущих сессий нет. Если нужны прошлые значения, следует им перманентно хранить где-либо, например, в базе данных.
cannyLaff, но вообще, если лень читать книги, или даже маны, то хоть забей в Гугле что-то типа "php mysql гостевая". Найди что-то типа "Гостевая книга своими руками на PHP и MySQL" и посмотри как это обычно делается.
спасибо, всем, особенно Apple=) наонец-то разобрался TheShock спасибо за совет.. но у меня всё равно вылетает эта ворнинг TheShock 2-я строчка: <? 3-я строчка: session_start();
Позаботьтесь о том, чтобы ДО этой строчки не было никакого вывода в браузер. Что бы ни один пробел не был этим не был выведен.