• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

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

  • Автор темы AND
  • Дата начала
Статус
Закрыто для дальнейших ответов.
A

AND

Доброго всем дня!
ПОдскажите пожалуйста. Есть два файла 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.
Очень долго ломаю голову, может кто знает как это реализовать?
 
G

GOsha

А никак.
PHP - исполняется со стороны сервера, а Javascript - клиента. Т.о. обмен данными Javascript-PHP возможен только через переменные GET в адресной строке браузера, и еще мож куки. И все. Это 2 механизма, которые я знаю.
Вот с PHP-JS проще - можно вызвать функцию с любым параметром.
А если надо все делать "на лету", без всяких там промежуточных операционных редиректов, тогда AJAX.
 
A

AND

Если скрипт выполняется на стороне клиента, то можно ли при перезагрузке оставлять сумму? У меня, когда главная страница загружается в нее вставлен файл на JavaScript, который в свою очередь создаёт переменную quan-сумма, делает её начальное значение 0, а потом в функции это значение приращивается. Так вот при перезагрузки, тоесть когда пользователь выбирает другую категорию товара страница перегружается и следовательно quan пропадает.
 
G

GOsha

При перезагрузке страницы значение теряется. Как вариант можно записать в куку, а потом забрать оттуда значение после перезагрузки. Но это еще сильно подумать надобно.
Попробуй - посмотрим, что будет?
 
T

TWin

Да нормально будет через куки.
На JS пишешь: document.cookie='quan=123';
И при следующем прогоне PHP скрипта читаешь массив $_COOKIE['quan']
 
M

MajestiC

Что-то нифига я не понял твоей задачи. Конкретней опиши
 
A

AND

У меня есть главный файл в нем подключаются четыре. В 1.html записано практически всё и он выводит с помощью двух других файлов на PHP значения из БД, которые формируют прайс-лист и панель управления прайс-листом, то есть навигация по прайсу. К 1.html подключается функция, которая приращивает значение суммы товаров(переменная quan). Здесь же она создаётся и её значение приравнивается к нулю . Когда я перехожу по навигации прайса на другой класс товаров, то сбрасывается значение, которое находится в файле, который подключается к 1.html, в которой находится функция JS.
 
M

MajestiC

То есть в итоге у тебя есть что-то типа корзины. При клике по товару, товар помещается в корзину.
У тебя на данный момент помещение в корзину реализовано при помощи JS (обновляется сумма товаров, добавляется id выбранного товара), и при переходе на другую страницу сумма товаров в корзине обнуляется, так?

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

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

А при загрузке страницы формировать начальные данные из cookies или сессии (в случае хранения на сервере).
 
A

AND

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

Обучение наступательной кибербезопасности в игровой форме. Начать игру!