Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> передача данных формы 
V
    Опции темы
Zzet
  Дата 29.9.2009, 11:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 180
Регистрация: 28.6.2009

Репутация: нет
Всего: нет



здравсвуйте! вопрос такой - еффективно ли передавать данные через форму таким вот образом
Код

 <FORM STYLE='width: 100%;' action='index.php?&town=<? echo $_REQUEST["town"];?>
  &account=<? echo $_REQUEST["account"];?>
  &street=<? echo $_REQUEST["street"];?>
  &house=<? echo $_REQUEST["house"];?>
  &houseletter=<? echo $_REQUEST["houseletter"];?>
  &corps=<? echo $_REQUEST["corps"];?>
  &room=<? echo $_REQUEST["room"];?>
  &name=<? echo $_REQUEST["name"];?>
  &cond1=<? echo $_REQUEST["cond1"];?>
  &s1=<? echo $_REQUEST["s1"];?>
  &s2=<? echo $_REQUEST["s2"];?>
  &s3=<? echo $_REQUEST["s3"];?>
  &s4=<? echo $_REQUEST["s4"];?>
  &s5=<? echo $_REQUEST["s5"];?>
  &s6=<? echo $_REQUEST["s6"];?>
  &s7=<? echo $_REQUEST["s7"];?>
  &s8=<? echo $_REQUEST["s8"];?>
  &s9=<? echo $_REQUEST["s9"];?>
  &s10=<? echo $_REQUEST["s10"];?>
  &cond2=<? echo $_REQUEST["cond2"];?>'>

возможно ли упаковать эти данные как то в глобальный массив(как?)? и необходимо ли это в моем случае - эти данные нужны при переходах на нескольких страницах 
PM MAIL   Вверх
icewind
Дата 29.9.2009, 11:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 393
Регистрация: 11.4.2009
Где: Ростов-на-Дону

Репутация: 20
Всего: 20



Что это вообще такое?  smile 

Если написать так
Код

<form method="get" action="handler.php">
   <input type="input" name="n" value="aaaaa" />
   <input type="submit" value="submit" />
</form>


То запрос и так уйдет handler.php?n=aaaaa

Да и зачем вообще так делать? 

Это сообщение отредактировал(а) icewind - 29.9.2009, 11:45


--------------------
user posted image
PM MAIL Skype   Вверх
Zzet
Дата 29.9.2009, 11:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 180
Регистрация: 28.6.2009

Репутация: нет
Всего: нет



хорошо я понял ошибку, исправлю. как переданные данные сохранить на несколько сеансов(переходов по страницам)?
PM MAIL   Вверх
Ипатьев
Дата 29.9.2009, 11:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



Цитата(Zzet @  29.9.2009,  11:39 Найти цитируемый пост)
эти данные нужны при переходах на нескольких страницах  

сессии
PM MAIL   Вверх
Zzet
Дата 29.9.2009, 11:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 180
Регистрация: 28.6.2009

Репутация: нет
Всего: нет



Ипатьев , я не понимаю как создать массив сессии? у меня некоторые значения с формы (например, $_REQUEST["s2"] ) просто пустые.

Добавлено через 23 секунды
могут быть

Добавлено через 4 минуты и 21 секунду
вот так пойдет?
Код

 global $_SESSION;
        if (!isset($_SESSION['danue'])) 
            return;  
        $s="";
        for($i=0;$i<count($_SESSION['danue']);$i++)
        {
            if ($i!=0)$s.=",";
            $s.=$_SESSION['danue'][$i][0];            
        }

PM MAIL   Вверх
Ипатьев
Дата 29.9.2009, 12:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



точно так же, как любую другую переменную, поместить его в $_SESSION
подробнее прочесть в документации
PM MAIL   Вверх
Ипатьев
Дата 29.9.2009, 12:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



нет, не подойдет.
не нужно никакого шаманства со строками. просто присвоить значение одной переменной другой переменно. знаком =
PM MAIL   Вверх
patap
Дата 29.9.2009, 12:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 893
Регистрация: 7.5.2005
Где: Украина, Зп

Репутация: 26
Всего: 40



Код

session_start();
$_SESSION['danue'] = array();
foreach ($_REQUEST as $key => $value) {
  $_SESSION['danue'][$key] = $value;
}


а потом обращайся к этому массиву на других страницах
Код

session_start();
echo $_SESSION['danue']['town'];

echo '<pre>';
print_r($_SESSION);
echo '</pre>';


Это сообщение отредактировал(а) patap - 29.9.2009, 12:56


--------------------
На боку кобура болталась, сзади шашка отцовская звякала. 
Впереди меня все хохотало, а позади все плакало (с)
PM MAIL ICQ   Вверх
Ипатьев
Дата 29.9.2009, 13:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



patap, ну написаоно же, простое присваивание.
Зачем здесь цикл? почему мысль просто написать $_SESSION['data']=$_REQUEST не приходит вам в голову?

Добавлено через 4 минуты и 22 секунды
Zzet, эти данные добавляются только в одном месте или на каждой странице добавляются новые?
PM MAIL   Вверх
icewind
Дата 29.9.2009, 13:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 393
Регистрация: 11.4.2009
Где: Ростов-на-Дону

Репутация: 20
Всего: 20



Цитата(Zzet @  29.9.2009,  11:58 Найти цитируемый пост)
global $_SESSION;

писать не надо.




--------------------
user posted image
PM MAIL Skype   Вверх
capitan
Дата 29.9.2009, 14:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 602
Регистрация: 27.2.2005
Где: Москва

Репутация: 9
Всего: 13



Я бы ещё обратил внимание на то, что методом GET нельзя передать большой объем данных, а метод POST обеспечивает передачу данных не ограниченных по длинне.  В коде видно только название переменных, а вот какой длинны значения - нет. По-этому некоторые данные могут и не пройти.
PM MAIL WWW ICQ   Вверх
Ипатьев
Дата 29.9.2009, 14:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



Только не "методом GET", а "в QUERY STRING". Метод-то как раз может быть любой.
PM MAIL   Вверх
Zzet
Дата 29.9.2009, 14:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 180
Регистрация: 28.6.2009

Репутация: нет
Всего: нет



Цитата(Ипатьев @  29.9.2009,  13:31 Найти цитируемый пост)
Zzet, эти данные добавляются только в одном месте или на каждой странице добавляются новые? 
 в одном месте + добавляются новые. 


Цитата(Ипатьев @  29.9.2009,  14:13 Найти цитируемый пост)
а "в QUERY STRING".
 что здесь имеется ввиду? пост и гет мне извесны. QUERY STRING?

PM MAIL   Вверх
Ипатьев
Дата 29.9.2009, 14:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



как раз наоборот. пост и гет вам неизвестны, вы не знаете, что это такое.
а квери стрнинг вы видите на сайтах постоянно. в частности, то, что вы пытались сформировать в коде из первого сообщения - и есть query string
А POST и GET - это HTTP запросы

Цитата(Zzet @  29.9.2009,  14:27 Найти цитируемый пост)
 в одном месте + добавляются новые. 

нельзя так писать. эти утверждения противоречат друг другу. может быть только или в одном месте или в нескольких.
если добавляется в нескольких местах, то надо подумать, как добавлять.
проще всего создавать новый элемент массива $_SESSION. но можно и прибавлять к старому, обычным оператором +
Но в любом случае надо всегда проверять результат - все ли записалось, как надо. Функцией var_dump, перед которой, при выводе в браузер, удобно вывести тег <pre>

Это сообщение отредактировал(а) Ипатьев - 29.9.2009, 14:59
PM MAIL   Вверх
Zzet
  Дата 29.9.2009, 14:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 180
Регистрация: 28.6.2009

Репутация: нет
Всего: нет



 smile спасибо, разъяснили. 
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0953 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.