Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Не могу воспользоваться массивом на другой странице
Покинул форум
Сообщений всего: 17
Дата рег-ции: Февр. 2014
Помог: 0 раз(а)
Добрый день!
У меня есть две страницы: search.php и results.php
На странице search.php есть форма поиска, выбор из базы данных и запись данных в массив $names.
Нужно, чтобы результат запроса (т.е. этот массив) показывался на странице results.php Пишу в search.php :
НЕ ВИДИТ МАССИВА, ЧТО ДЕЛАТЬ??
P.S. 1) Про область видимости переменной знаю, просьба на php.net не отсылать, читал...
2) Код рабочий, результат на этой же странице выдавал, просто необходимо, чтобы результат выдавался на другой странице.
Мелкий
Отправлено: 26 Февраля, 2014 - 12:30:49
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
and2009zxc пишет:
Header( "Location:results.php" );
На котором из бесконечного числа обращений?
----- PostgreSQL DBA
and2009zxc
Отправлено: 26 Февраля, 2014 - 12:59:04
Новичок
Покинул форум
Сообщений всего: 17
Дата рег-ции: Февр. 2014
Помог: 0 раз(а)
Мелкий пишет:
and2009zxc пишет:
Header( "Location:results.php" );
На котором из бесконечного числа обращений?
я не понял
разве Header("Location ... ") не должна перебрасывать на другую страницу?
Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011 Откуда: .kh.ua
Помог: 242 раз(а)
and2009zxc, и на этой же странице
and2009zxc пишет:
require("search.php");
в котром
and2009zxc пишет:
Header( "Location:results.php" );
and2009zxc
Отправлено: 26 Февраля, 2014 - 13:26:39
Новичок
Покинул форум
Сообщений всего: 17
Дата рег-ции: Февр. 2014
Помог: 0 раз(а)
IllusionMH пишет:
and2009zxc, и на этой же странице
and2009zxc пишет:
require("search.php");
в котром
and2009zxc пишет:
Header( "Location:results.php" );
Эти обрывки моего кода вкупе с вашими обрывками фраз не наталкивают меня ни на какие мысли....
Пожалуйста, объясните дураку подробнее, в чем здесь суть??
esterio
Отправлено: 26 Февраля, 2014 - 14:50:17
Активный участник
Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012 Откуда: Украина, Львов
Помог: 127 раз(а)
в results.php есть inlude('search.php'); в котором идет перенаправление на results.php
and2009zxc
Отправлено: 26 Февраля, 2014 - 15:06:25
Новичок
Покинул форум
Сообщений всего: 17
Дата рег-ции: Февр. 2014
Помог: 0 раз(а)
esterio пишет:
в results.php есть inlude('search.php'); в котором идет перенаправление на results.php
убрал require('search.php')
результат не изменился, не видит массив..
Notice: Undefined variable: names in C:\apache\localhost\www\results.php
IllusionMH
Отправлено: 26 Февраля, 2014 - 15:13:51
Активный участник
Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011 Откуда: .kh.ua
Помог: 242 раз(а)
and2009zxc, и откуда должна переменная, объявляемая в файле который больше не инклюдится, должна появится в результатах?
Я бы убрал перенаправление. Зачем оно вообще там?
and2009zxc
Отправлено: 26 Февраля, 2014 - 15:33:15
Новичок
Покинул форум
Сообщений всего: 17
Дата рег-ции: Февр. 2014
Помог: 0 раз(а)
IllusionMH пишет:
and2009zxc, и откуда должна переменная, объявляемая в файле который больше не инклюдится, должна появится в результатах?
Я бы убрал перенаправление. Зачем оно вообще там?
Как же мне тогда перенаправить на другую страницу?
Sail
Отправлено: 26 Февраля, 2014 - 15:35:09
Участник
Покинул форум
Сообщений всего: 1131
Дата рег-ции: Февр. 2014
Помог: 57 раз(а)
and2009zxc пишет:
не видит массив..
Это-ж веб!
С началом выполнения скрипта используемые данные надо как-нибудь инициализировать ($_GET, $_POST, запросы к БД, etc.)
Перенаправление (header) приводит именно к началу выполнения нового скрипта.
На момент входа в results.php после перенаправления сервер не знает о том, что данный пользователь уже что-либо делал.
Таким образом, надо либо добавить include results.php в search.php вместо перенаправления, либо где-нить (в БД, или сессии) сохранить результаты работы скрипта search.
Как-то так.
IllusionMH
Отправлено: 26 Февраля, 2014 - 15:39:39
Активный участник
Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011 Откуда: .kh.ua
Помог: 242 раз(а)
and2009zxc, так проверяйте, нужно перенаправлять на результаты или вы уже на странице результатов.
and2009zxc
Отправлено: 26 Февраля, 2014 - 16:45:15
Новичок
Покинул форум
Сообщений всего: 17
Дата рег-ции: Февр. 2014
Помог: 0 раз(а)
IllusionMH пишет:
and2009zxc, так проверяйте, нужно перенаправлять на результаты или вы уже на странице результатов.
Послушайте, я уже писал, что делается на странице search.php
Там есть форма поиска, с нее идут запросы к БД и на ней есть результат.
Фишка в том, что мне нужно опубликовать этот результат на другой странице, в виде красивой таблички, чтобы формы поиска на ней уже не было...
Все ж просто вроде должно быть..
Я понимаю, что без includa'а не виден мой массив, но если убрать Header , то я не знаю, чем перенаправить на другую страницу
Вариант с еще одним обращением к базе данных мне не нравится, зачем, если данные уже выбраны и находятся в массиве
Вариант с сессиями наверное подошел бы, но я не очень-то с ними знаком.
Можно ли как-нибудь сохранить значения массива в глобальных переменных, чтобы после завершения скрипта они были доступны вплоть до обнуления? (Добавление) Люди, всем спасибо большое за участие!
Я придумал как сделать наконец-то!
Просто на странице search.php оставил одну форму, с помощью action=results.php указал, где обрабатывается форма, а весь код по поиску и выводу разместил на results.php
Все просто, как я и думал..
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.