ОБСУЖДЕНИЕ

Как из Php узнать значение Javascript переменной.

9 ответов 8 тыс.
AI-выжимка обсуждения скоро

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

Статус
Закрыто для дальнейших ответов.
Автор темы
Доброго всем дня!
ПОдскажите пожалуйста. Есть два файла php один формирует прайс-лист из БД, а второй реализует дерево товаров, тоесть меню, тоже из PHP в первом файле идет приращение корзины товаров с помощью функции на JavaScript, как можно из второго файла, который к функции не обращается узнать значение переменной.
Код:
<script>
function ToKor(kol,price,id)
{
kol=parseFloat(kol);
if(!isNaN(price)){price=parseFloat(price);}else{alert('Float!');}
pr=pr+kol;
quan=quan+price*kol;
document.all.GooTd.innerHTML=pr+'';
document.all.BasTd.innerHTML=quan+'';// [b]данная переменная является суммой корзины[/b]
document.all.idLine.value=document.all.idLine.value+' '+id+' '+kol;
z=0;
}
</script>

функции находятся в файлах отдельно и прикрепляются к главному файлу .html, а тот в свою очередь обращается к двум файлам на PHP.
Очень долго ломаю голову, может кто знает как это реализовать?
 
А никак.
PHP - исполняется со стороны сервера, а Javascript - клиента. Т.о. обмен данными Javascript-PHP возможен только через переменные GET в адресной строке браузера, и еще мож куки. И все. Это 2 механизма, которые я знаю.
Вот с PHP-JS проще - можно вызвать функцию с любым параметром.
А если надо все делать "на лету", без всяких там промежуточных операционных редиректов, тогда AJAX.
 
Вообщем зашёл в тупик...
 
Если скрипт выполняется на стороне клиента, то можно ли при перезагрузке оставлять сумму? У меня, когда главная страница загружается в нее вставлен файл на JavaScript, который в свою очередь создаёт переменную quan-сумма, делает её начальное значение 0, а потом в функции это значение приращивается. Так вот при перезагрузки, тоесть когда пользователь выбирает другую категорию товара страница перегружается и следовательно quan пропадает.
 
При перезагрузке страницы значение теряется. Как вариант можно записать в куку, а потом забрать оттуда значение после перезагрузки. Но это еще сильно подумать надобно.
Попробуй - посмотрим, что будет?
 
Да нормально будет через куки.
На JS пишешь: document.cookie='quan=123';
И при следующем прогоне PHP скрипта читаешь массив $_COOKIE['quan']
 
Что-то нифига я не понял твоей задачи. Конкретней опиши
 
У меня есть главный файл в нем подключаются четыре. В 1.html записано практически всё и он выводит с помощью двух других файлов на PHP значения из БД, которые формируют прайс-лист и панель управления прайс-листом, то есть навигация по прайсу. К 1.html подключается функция, которая приращивает значение суммы товаров(переменная quan). Здесь же она создаётся и её значение приравнивается к нулю . Когда я перехожу по навигации прайса на другой класс товаров, то сбрасывается значение, которое находится в файле, который подключается к 1.html, в которой находится функция JS.
 
То есть в итоге у тебя есть что-то типа корзины. При клике по товару, товар помещается в корзину.
У тебя на данный момент помещение в корзину реализовано при помощи JS (обновляется сумма товаров, добавляется id выбранного товара), и при переходе на другую страницу сумма товаров в корзине обнуляется, так?

А ты хочешь чтобы она оставалась.

Если так, то в данном случае действительно можно использовать cookie для хранения данных корзины на стороне клиента.
Или отправлять AJAX запрос, который будет сохранять данные корзины на сервере.

А при загрузке страницы формировать начальные данные из cookies или сессии (в случае хранения на сервере).
 
Да, всё так.
А как это можно сделать с помощью AJAX, чтобы переменная сохранялась?
 
Статус
Закрыто для дальнейших ответов.