|
|
|
| Всем привет!
вот какая ситуация:
есть файл index.php в нем подключается файл first.php (include('first.php');)
а в файле first.php подключается файл second.php (include('second.php');)
и в последнем вывожу переменную $_GET ( echo $_GET['temp_max']) а на странице выдается сообщение: Notice: Undefined index: temp_max
почему так происходит??? | |
|
|
|
|
|
|
|
для: Spenser
(05.12.2007 в 20:57)
| | нет такой переменной значит в адресе | |
|
|
|
|
|
|
|
для: bronenos
(05.12.2007 в 21:09)
| | да в том то и дело что переменная точно есть.
а вот если выводить переменную в first.php то она нормально выводиться.
может тут чтото с уровнем вложенности? или чтото в этом роде? | |
|
|
|
|
|
|
|
для: Spenser
(05.12.2007 в 20:57)
| | вот реальный код
index.php
<?php
include("includes/first.php");
?>
|
first.php
//какой то еще код
elseif (isset($_GET['action']) && ($_GET['action'] == 'get_result') && (isset($_GET['lab'])) && ($_GET['lab']) > 0)
{
include("labs/lab_2/result.php");
}
|
result.php
<?
echo $_GET['temp_max'];
?>
|
а вот урл ?temp_max=20&temp_step=10&action=get_result&lab=2 | |
|
|
|
|
|
|
|
для: Spenser
(05.12.2007 в 21:20)
| | никто не может подсказать??? | |
|
|
|
|
|
|
|
для: Spenser
(05.12.2007 в 23:34)
| | хз-хз... | |
|
|
|
|
|
|
|
для: Spenser
(05.12.2007 в 23:34)
| | В result.php - print_r($_GET);, что получите? | |
|
|
|
|
|
|
|
для: sim5
(06.12.2007 в 09:02)
| | выдает:
| |
|
|
|
|
|
|
|
для: Spenser
(06.12.2007 в 21:46)
| | А должно быть Array ( [temp_max] => 20 [temp_step] => 10 [action] => get_result [lab] => 2 ), если
в result.php кроме echo $_GET['temp_max']; более ничего нет. | |
|
|
|
|
|
|
|
для: sim5
(07.12.2007 в 02:28)
| | я понимаю что должно быть так,но этого не происходит.вот я и спрашиваю в чем может быть проблема? | |
|
|
|
|
|
|
|
для: Spenser
(08.12.2007 в 14:46)
| |
elseif (isset($_GET['action']) && ($_GET['action'] == 'get_result') && (isset($_GET['lab'])) && ($_GET['lab']) > 0)
{
//если входим значит массив $_GET не пустой
include("labs/lab_2/result.php");
//вопрос, куда могу пропасть значения массива
//если в result.php кроме его вывода ничего нет
}
|
У меня ничего не пропадает, не по собственной же инициативе $_GET сбрасывает свои значения. У вас точно не происходит перехода, например, до вывода переменной? | |
|
|
|
|
|
|
|
для: sim5
(08.12.2007 в 14:56)
| | перехода нет. этот урл с данными передается из флеш. т.е. после выполнения флеш ролика идет переадресация по данному урлу. | |
|
|
|
|
|
|
|
для: Spenser
(08.12.2007 в 15:17)
| | Даже не знаю, если только принудительно не очистить массив. У вас ведь только подключение файла произошло, причем по условию наличия переменных этого массива, почему он у вас пропадает именно в это время? Значит причина в подключаемом файле. | |
|
|
|
|
|
|
|
для: sim5
(08.12.2007 в 15:23)
| | понятно.но я даже не знаю что тут можно сделать. | |
|
|
|
|
|
|
|
для: Spenser
(08.12.2007 в 15:31)
| | А что у вас в этом файле? И если вывод этой переменной до подключения - она ведь существует еще? | |
|
|
|
|
|
|
|
для: sim5
(08.12.2007 в 15:34)
| | не совсем понял. вы о каком файле? result.php? я сделал специально чтобы проверить перенес вывод переменных temp_max temp_step во втором файле, но они все равно не выводятся. т.е. получается что данные переданые флешом не передаются. вернее не все, action и lab нормально передаются и обрабатываются потому что срабатывает условие.
я уже в отчаянии, это мой диплом. скоро его надо уже показывать руководителю, а из-за этой ошибки я не смогу. | |
|
|
|
|
|
|
|
для: Spenser
(08.12.2007 в 15:42)
| | Ну проверте сразу до подключений - что вы в массиве GET получаете. Возможно ее значение пустое. | |
|
|
|
|
|
|
|
для: sim5
(08.12.2007 в 15:54)
| | +1
Скорее всего переменная и правда не определенна, или просто где-то намудрлии с названиями.
Если переменная из первого файла видна попробуйте в первом фале сделать что-то вроде
<? $temp_max'=$_GET['temp_max']; ?>
|
И в последнем уже запросить $temp_max; | |
|
|
|
|
|
|
|
для: sim5
(08.12.2007 в 15:54)
| | вот какая штука получается:
в первом файле сделал так
if (isset($_GET['action']) && ($_GET['action'] == 'get_result') && (isset($_GET['lab'])) && ($_GET['lab']) > 0)
{
$sql = mysql_query("SELECT * FROM ".$prefix."_labs WHERE id_lab='".$_GET['lab']."'");
$lab = mysql_fetch_array($sql);
print_r($_GET);
include($baseurl."labs/lab_2/result.php");
}
|
тут print_r выводит Array ( [temp_max] => 20 [temp_step] => 10 [action] => get_result [lab] => 2 )
т.е. так как надо. а вот в файле result.php выводиться Array ( ) как и раньше
вот весь файл result.php:
<?
print_r($_GET);
echo $_GET['temp_max'];
?>
|
почему в него не передаються параметры???? | |
|
|
|
|
|
|
|
для: Spenser
(08.12.2007 в 20:26)
| | Повторил один в один. Создал html файл, в котором:
<A HREF="index.php?temp_max=20&temp_step=10&action=get_result&lab=2">Flesh</A>
Далее все как и у вас (даже пути ваши), кроме $baseurl (т.е. "labs/lab_2/result.php") - все на месте и никуда не пропадает, да оно и не может пропасть. Может разгадка в $baseurl? | |
|
|
|
|
|
|
|
для: Spenser
(08.12.2007 в 20:26)
| |
<?
$baseurl = dirname(__FILE__);
?>
|
| |
|
|
|