Получить значения слайдера из Jquery в PHP на разных страницах (Bootstrap-slider-master)

У меня есть сайт с 3 изображениями (стрелками), которые отправляют вас на другую страницу, поэтому:
index.html
-page1.php
-page2.php
-page3.php

Для каждого есть слайдер с начальной загрузкой:

        <input id="ex1" data-slider-id='exSlider' type="text" data-slider-min="0" data-slider-max="10" data-slider-step="1" data-slider-value="5" data-slider-handle="triangle" style="width: 100%;"/>

<input id="ex2" data-slider-id='exSlider' type="text" data-slider-min="0" data-slider-max="10" data-slider-step="1" data-slider-value="5" data-slider-handle="triangle" style="width: 100%;"/>

<input id="ex3" data-slider-id='exSlider' type="text" data-slider-min="0" data-slider-max="10" data-slider-step="1" data-slider-value="5" data-slider-handle="triangle" style="width: 100%;"/>

Я хочу отправить значение ползунка на другую страницу PHP, например, если я нажимаю на первом изображении и ползунке в 8, когда я перехожу к page1.php, я хочу видеть номер ползунка.

Из index.html я получил значения ползунка следующим образом:

    $(".slider").click(function(){

var sli1 = $("#ex1").data('slider').getValue();

});

Я жестко использую $ _SESSION для хранения значений каждого ползунка, но я не знаю, как его реализовать, потому что способ получить значение ползунка — на Jquery, а вторая страница — на PHP.

Итак, как мне сохранить значение на сайте Jquery, а затем получить доступ через PHP на другом сайте?

Редактировать:
Я не могу получить значения со второй страницы. Моя папка выглядит так:

-index.html

 <tr>
<td>
<div>
<p>ABC</p>
<input id="ex1" data-slider-id='Exsliser' type="text" data-slider-min="0" data-slider-max="10" data-slider-step="1" data-slider-value="5"/>
</div>
</td>
<a class="slider" href="slider/slider1.php"><img ></a>

В том же внутри:

$(".slider").click(function(){

$sliderID = $(this).closest('div').find('input').attr('id');
$sliderValue = $(this).closest('div').find('input').data('slider').getValue();

alert($sliderID +' - '+$sliderValue);

//Send values to PHP script that updates them in $_SESSION
$.post("session_val.php",{sliderID:$sliderID, sliderValue:$sliderValue});
});

И в slider1.php:

<?php
session_start();

$val = $_SESSION['ex1'];

echo "<script type='text/javascript'>alert('$val');</script>";

?>

Я положил session_start (); в начале обоих файлов. Файл session_val.php находится в той же папке, что и индекс, но в другой папке, что slider1.php

0

Решение

Для кнопок со стрелками, которые переносят вас на другую страницу, вы можете запустить их с помощью Javascript, используя «onclick». Это позволит вам получить значение ползунка и передать его как переменную GET в URL.

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

HTML:

<a onclick="get_slider('page2','ex2')">Page 2</a>

JS:

function get_slider(page,sliderID) {
//Get value of specified slider
$slideValue = $("#" + sliderID).data('slider').getValue();
//Build the url, with page name, then slider value passed as parameter
$url = page + ".php?slider=" + $slideValue;
//Send user to the proper page
window.location = $url;
}

PHP:
На странице назначения вы можете получить значение ползунка следующим образом:

<?php $sliderValue = $_GET['slider']; ?>

РЕДАКТИРОВАТЬ: Отражая мой комментарий ниже, забудьте выше материал и используйте вместо этого ajax:

слайдер value.php
Простой скрипт, который принимает две переданные переменные и обновляет связанную переменную $ _SESSION.

<?php
/*** Your database connection string here ***/

//Get passed values
$sliderID = $_POST['sliderID'];
$sliderValue = $_POST['sliderValue'];

//Put them into $_SESSION variable
$_SESSION[$sliderID] = $sliderValue;

?>

Javascript:

$('[data-slider-id]').change(function() {
//Get slider's ID and value
$sliderID = $(this).attr('id');
$sliderValue = $(this).data('slider').getValue();

//Send values to PHP script that updates them in $_SESSION
$.post( "slider-value.php",{sliderID:$sliderID, sliderValue:$sliderValue});

});
1

Другие решения

Я бы предложил вам обернуть ввод в форму.

<form action="page2.php" method="post">
<input type="range" name="input1">

<button type="submit">Next page</button>
</form>

Таким образом, когда пользователь отправит форму, вы получите доступ к значению во вводе через $_POST['input1'],

Вы можете использовать аналогичный подход для остальных страниц. Вы в основном реализуете многошаговую форму.

0

По вопросам рекламы [email protected]