Forum Webscript.Ru

Программирование => JavaScript & JScript => Тема начата: kiruxa от 11 Июля 2006, 19:28:21

Название: Сессии средствами Javascript...
Отправлено: kiruxa от 11 Июля 2006, 19:28:21
Добрый день,

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

Кто знает возможно ли это ?

чтото типа этого

$_SESSION[\'val\'] <= > document.getElementById(\'SomeValue\');

спасибо
Название: Сессии средствами Javascript...
Отправлено: vasa_c от 11 Июля 2006, 21:21:02
Прошу прощения, ничего не понятно.
Название: Сессии средствами Javascript...
Отправлено: kiruxa от 11 Июля 2006, 22:08:49
вопрос в том что мне нужно обьявить какую-либо переменную в Javascript  как  сессионную, а потом достучаться до нее через PHP типа $_SESSION[\'val\']

Извиняюсь я просто дуб в Javascript, но решить проблему средствами пхп не могу :(
Название: Сессии средствами Javascript...
Отправлено: vasa_c от 11 Июля 2006, 22:17:36
Сначала почитай это — http://www.phpfaq.ru/na_tanke
Название: Сессии средствами Javascript...
Отправлено: CGVictor от 12 Июля 2006, 11:08:13
kiruxa
Вариант 1: спокойно передавать формами. $_SESSION["var"] = $_POST["var"]. Ну а вывести в javascript - даже не вопрос.
Вариант 2: использовать любую ajax-библиотеку. Но это тебе вряд ли.
Название: Сессии средствами Javascript...
Отправлено: kiruxa от 12 Июля 2006, 11:18:43
Я и работаю под Ajax

У меня форма генериться на серваке
document.getElementById(\'main_area\').innerHTML = req.responseJS.q;

и выдается в ячейку в таблице  - >
 {$main_area}

потом из этой формы (полей штук 40) мне надо сохранить данные в базе.


То есть  передать по "Submit" в скрипт на серваке (без обновления - релоада страницы)...
Достучаться с сервера я могу только к сессионным переменным, т.к. для постовых надо обновление страницы...
во и мучаюсь :(

Может есть вариант в JavaScript собрать в ассоциативный массив (id,value) все значения формы? чтоб потом отправить его на сервер...
Название: Сессии средствами Javascript...
Отправлено: vasa_c от 12 Июля 2006, 11:26:54
>т.к. для постовых надо обновление страницы...
Разве? Если сценарий запрашивается методом POST, то в нем д.б. эти переменные вне зависимости от перегрузки страницы в браузере.
Даже если не определен $_POST, можно вытащить строку запрос из входного потока.
fopen( \'php://stdout\', \'rb\' ) - так по-моему.
Название: Сессии средствами Javascript...
Отправлено: CGVictor от 12 Июля 2006, 11:51:55
vasa_c
php://input

kiruxa
Во-первых, непонятно, что ты хочешь сохранять, если у тебя полей для изменения данных нет.
Во-вторых, можно просто JS-ом создать набор данных для изменения и передать на сервер тем же ajax-запросом.
Название: Сессии средствами Javascript...
Отправлено: kiruxa от 12 Июля 2006, 11:54:12
мне JavaScriptom надо вытянуть все данные из формы и отправить их на сервак, т.к у меня не определенное количество полей то не знаю как это сделать

надо чтото типа этого :

[CODE]

тогда в load_page.php я смогу их добавить в базу...

Вот как в query - загнать все значения введенные в форму...???
Название: Сессии средствами Javascript...
Отправлено: CGVictor от 12 Июля 2006, 16:29:43
kiruxa
Котеровский скрипт.
req.send принимает параметром объект. Вот и пиши в его свойства все передаваемые поля.

Тему очень хочется закрыть.
Название: Сессии средствами Javascript...
Отправлено: kiruxa от 12 Июля 2006, 16:59:34
за скрипт я понимаю...
я работаю с ним уже несколько месяцев...
теперь задача свелась к тому что
в форме неопределенное число полей (пусть от 5 до 50)

и как взять описание формы (все ИД полей) чтоб потом передать в req.send

уже думал одним параметром через запятую передать все ИД полей а вторым их значения ...
облазил руководства по Javascript  - не нашел

спрашиваю не за подсказку кода, а за идею как это реализовать можно...


плиз не закрывай тему ... может кто еще поможет
Название: Сессии средствами Javascript...
Отправлено: CGVictor от 12 Июля 2006, 20:45:51
kiruxa
Кто мешает передать просто массив значений?
[off]var arr = [];[/off]
Название: Сессии средствами Javascript...
Отправлено: kiruxa от 13 Июля 2006, 00:19:49
Да ничего не мешает ...
вот так и думаю делать ...
самая главная проблема его сформировать
первая и главная причина
не известно количество полей в форме и имена.

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

может кто сталкивался с таким?
Название: Сессии средствами Javascript...
Отправлено: CGVictor от 14 Июля 2006, 15:19:30
kiruxa
А чем генерятся поля в форме?
Название: Сессии средствами Javascript...
Отправлено: kiruxa от 14 Июля 2006, 19:58:21
php скриптом через ajax

пытаюсь передать имена полей а потом их читать и затем возращать значения в скрипт

изврат получается
Название: Сессии средствами Javascript...
Отправлено: avb от 17 Июля 2006, 13:43:07
Такой вариант не подойдет:
В форме всегда есть input type=hidden name=...
В его value записываешь что-то типа name1:value1;name2:value2;... - сколько элементов формы, столько и пар имя:значение
На сервере берешь $_POST[...], разбираешь эту строку и сохраняешь как тебе удобно
Название: Сессии средствами Javascript...
Отправлено: kiruxa от 17 Июля 2006, 19:06:43
да вот так и делаю

но извращение конкретное
Название: Сессии средствами Javascript...
Отправлено: kan1 от 09 Августа 2006, 07:41:42
Можно через скрытые поля, например есть форма form1 тогда
form1.innerHTML=\'\';
form1.innerHTML+=\'\';
form1.innerHTML+=\'\';
...
form1.submit();
В процедуре на сервере объявляются переменные, name1-массив name2-строка
Название: Сессии средствами Javascript...
Отправлено: for_i_0 от 09 Августа 2006, 18:36:33
kiruxa
если не ошибаюсь тебе нужно передать количество всех полей в данной форме. А потом обработать их в цикле примерно так elements.