Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
5 / 5 / 4
Регистрация: 01.11.2009
Сообщений: 576

Не видны переменные в другом условии

26.01.2016, 07:37. Показов 1110. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день.
Может глупый вопрос, но не могу понять как решить проблему:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
if(isset($_POST['sub_mount']))
{
    //получаем месяц из POST'a
    $mount_tek = $_POST['Mount']; 
    $Smena = $_POST['Smena'];
    
    $sql = "SELECT uvpz.y9hmp_users.name as Name, uvpz.y9hmp_users.id AS user_id FROM uvpz.tabel
            Left Join uvpz.y9hmp_users ON uvpz.y9hmp_users.id=uvpz.tabel.user_id
            Left Join uvpz.y9hmp_usergroups ON uvpz.y9hmp_usergroups.id=uvpz.tabel.group_id
            where uvpz.y9hmp_usergroups.ns_id = ".$u." 
            and DATE_FORMAT(uvpz.tabel.date, '%Y-%m') = '".$mount_tek."'
            AND uvpz.tabel.group_id = ".$Smena."
            Group by uvpz.y9hmp_users.name
            Order By uvpz.y9hmp_users.name ASC";
 
    
    $_SESSION['mount_tek'] = $mount_tek;
    //Помещаем запрос в сессию
    $_SESSION['sql'] = $sql;
 
    }
 
if(isset($_POST['export']))
    {тут генериться екселевский файл и  нужно получить $sql для получения данных для файла.
 
}
пробовал поместить в сессию, но как-то не комильфо получается, объявление global, тоже ничего не дает.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.01.2016, 07:37
Ответы с готовыми решениями:

Переменные, объявленные в одном файле проекта, не видны в другом
Здравствуйте. Рабтаю над проектом Windows приложения. Код из первого файла: namespace MyApplication { public partial class...

Как сделать так что бы переменные из одного метода были видны в другом методе?

Не видны кнопки на другом пк
Написали программу для учета склада и т.д.... все работает на моем пк с Windows 7 x64 (на нем и делал) на ноутбуке работает там такая же ОС...

9
162 / 161 / 66
Регистрация: 28.06.2015
Сообщений: 576
26.01.2016, 09:25
А у вас когда существует переменная $_POST['export'], переменная $_POST['sub_mount'] тоже существует? Или в скрипт передается и та и та переменная?
0
5 / 5 / 4
Регистрация: 01.11.2009
Сообщений: 576
26.01.2016, 10:21  [ТС]
Цитата Сообщение от Xenox Посмотреть сообщение
А у вас когда существует переменная $_POST['export'], переменная $_POST['sub_mount'] тоже существует? Или в скрипт передается и та и та переменная?
Да, у меня, оказывается, все данные уже есть для заполнения файла, поэтому можно сразу после sub_mount заполнять файл и выкладывать на сервер, и очищать каталог файлов ночью..
0
162 / 161 / 66
Регистрация: 28.06.2015
Сообщений: 576
26.01.2016, 10:31
Нет, я не об этом. Сделайте:
PHP
1
2
3
4
echo "<pre>";
print_r($_POST);
echo "</pre>";
exit;
И посмотрите присутствуют ли у вас обе переменные. Потому что исходя из кода который вы предоставили, все должно быть верно, если оба условия выполняются.
0
5 / 5 / 4
Регистрация: 01.11.2009
Сообщений: 576
26.01.2016, 10:34  [ТС]
Цитата Сообщение от Xenox Посмотреть сообщение
Нет, я не об этом. Сделайте:
PHP
1
2
3
4
echo "<pre>";
print_r($_POST);
echo "</pre>";
exit;
И посмотрите присутствуют ли у вас обе переменные. Потому что исходя из кода который вы предоставили, все должно быть верно, если оба условия выполняются.
я понял, просто исправляю свой же кривой код.
0
21 / 21 / 5
Регистрация: 26.12.2013
Сообщений: 177
26.01.2016, 10:41
В запросе есть переменная $u, не определена выше, может в этом проблема?
0
 Аватар для useruser
166 / 90 / 38
Регистрация: 29.06.2015
Сообщений: 1,100
26.01.2016, 13:01
Определите глобальную переменную и получайте что и где хотите.

PHP
1
2
3
4
5
6
7
$my_global_var='ololo';
 
function preved($medved)
{
global $my_global_var; //Это переменная определена не в этой функции, а глобально (выше)
echo"$my_global_var"; //Выведет ololo
}
0
162 / 161 / 66
Регистрация: 28.06.2015
Сообщений: 576
26.01.2016, 13:03
Использовать глобальные переменные - считается моветоном.
0
26.01.2016, 13:43

Не по теме:


Цитата Сообщение от Xenox Посмотреть сообщение
Использовать глобальные переменные - считается моветоном.
Мсье, предлагаю их запретить. :)
А если вдруг у кого в коде их найдут - тому 20 ударов плетью. А компутер раздавить трактором.
А что мы сделаем с тем, кто вдруг использует $_SESSION - 'суперглобальную' или автоматическую глобальную переменную...
Вы свидитель, что сейчас будет...щас будет море крови (Паниковский (с))

0
26.01.2016, 14:37

Не по теме:

Цитата Сообщение от useruser Посмотреть сообщение
А если вдруг у кого в коде их найдут - тому 20 ударов плетью
Было бы не плохо :)

А если серьезно, лично я не могу придумать случая, где нельзя было бы обойтись без глобальных переменных. Кроме того они могут запутать. Приведу пример:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function test1()
{
  $c = 1 + 2;
  test2($c);
}
 
function test2($c)
{
  global $c;
  $c++;
  return $c;
}
 
test1();
echo $c;
Что будет выведено в примере выше? Только не запуская интерпритатор, попробуйте ответить самостоятельно, а потом проверьте

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.01.2016, 14:37
Помогаю со студенческими работами здесь

Не видны переменные из подключаемого файла в классе
День добрый такая у меня проблема возникла, есть класс для простенькой защиты по ip. работает впринципе неплохо, толко не принимает...

Переменные не видны, если объявлены в блоке If - Then
Здравствуйте. Проблема вот в чём. VB.NET выдаёт ошибку &quot;Lines_Выбранный_Знак&quot; не объявлен. Хотя я его объявлял в блоке If Then. Я его...

Не видны переменные, объявленные в блоке Try/Catch
try{ int i = 0; } i++; Ошибка Как исправить, заставить увидеть переменную?

Иногда переменные, созданные в main, не видны в цикле for
#include &lt;iostream&gt; #include &lt;vector&gt; #include &lt;functional&gt; using namespace std; int main() { const int max(20); int...

Почему не видны Public процедуры и переменные из других проектов
Почему не видны Public процедуры и переменные из других проектов, в которых нет Praive Option Explicit. Что в VBA Excel, что в VB. Ведь эта...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru