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

Форум PHP

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

 

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

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

тема: >>Чудеса, переменная пропадает<<
 
 автор: Himic   (17.03.2006 в 09:53)   письмо автору
 
 

Главный файл
<?
$message
='fgbhstrbhs';
include(
"tpl/top1.php");
include(
"titus/start.php");
include(
"tpl/niz.tpl");
?>


в файле titus/start.php производится вывод переменной $message
а её нет!

   
 
 автор: elenaki   (17.03.2006 в 10:02)   письмо автору
 
   для: Himic   (17.03.2006 в 09:53)
 

никуда она не пропадает. вы же ее не передаете в файл start. для обмена переменными
между страницами надо использовать сессии, куки или глобальные переменные окружения.

   
 
 автор: Trianon   (17.03.2006 в 10:25)   письмо автору
 
   для: elenaki   (17.03.2006 в 10:02)
 

Вынужден не согласиться.
Переменные окружения обеспечивают передачу данных между процессами, запущеными каскадно.
Сессии и куки обеспечивают передачу данных между вызовами скрипта.
Глобальные переменные обеспечивают передачу данных между областями видимости функций.
include напрямую не относится ни к одному из пунктов. Переменную могли просто убить.


a.php:  <?php  include ('a1.php');  include ('a2.php');  include ('a3.php'); ?>
a1.php: <?php   $msg1 "Hello,";   $msg2 "All!"?>
a2.php: <?php                       unset($msg2);   ?>
a3.php: <?php    echo $msg1;        echo $msg2;     ?>

Hello,
Notice: Undefined variable: msg2 in \localhost\www\Test\a3.php on line 1

   
 
 автор: kasmanaft   (17.03.2006 в 10:22)   письмо автору
 
   для: Himic   (17.03.2006 в 09:53)
 

это надо в файле start.php инклюдить ваш вот этот файл... чтобы было видно там эту переменную... (только опять же нудно смотреть чтобы не было двойных вложений (один и тот же файл не должнет подключаться два и более раза...

   
 
 автор: Artemy   (17.03.2006 в 10:32)   письмо автору
 
   для: Himic   (17.03.2006 в 09:53)
 

Возможно у Вас в файле tpl/top1.php переменной $message присваивается пустое значение.
Поэтому далее она не видна!

   
 
 автор: kasmanaft   (17.03.2006 в 10:52)   письмо автору
 
   для: Artemy   (17.03.2006 в 10:32)
 

мне кажется вы недопоняли :) или это я чего-то спутал.....
но переменная не видна НЕ в этом скрипте, а в start.php - в котором ее и быть то не может судя по всему...

(если в файле start.php есть вывод этой перем. и она не видна в приведенном скритпе, то наврно все-таки недопонял я :)

   
 
 автор: Loki   (17.03.2006 в 11:10)   письмо автору
 
   для: kasmanaft   (17.03.2006 в 10:52)
 

а у вас в файле start.php переменная, часом, не внутри функции вызывается?

   
 
 автор: himic   (17.03.2006 в 10:58)   письмо автору
 
   для: Artemy   (17.03.2006 в 10:32)
 

Дык я как только не пробовал переменные обзывать
переменныя обязана видится
попробуйте сами создать два файла
в первом объявить переменную
а во втором её распечатаь, у меня ж это не выходит

говорю чудеса значит чудеса!
Да и если раньше я выводил пустую переменную типа echo $dfbgd;
то писалась ошибка, а ща и этого нет
мож что с сервером?

   
 
 автор: Trianon   (17.03.2006 в 11:07)   письмо автору
 
   для: himic   (17.03.2006 в 10:58)
 

Я Вам привел пример, в котором это выходит. В файле a1.php создается две переменных. В файле a3.php печатаются их значения. Видна только первая, потому, что в файле a2.php вторую переменную уничтожают.
А насчет "переменныя обязана видится" могу только повторить. Если переменные создаются или применяются внутри функций, ничего такого делать они не обязаны. Пока Вы их не объявите глобальными.

   
Rambler's Top100
вверх

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