2015-08-18 61 views
0

我有3幅圖像(箭頭),該送你到另一個頁面,因此網站: 的index.html -page1.php - 使page2.php -page3.php獲取滑塊值不同的頁面(引導滑塊主)到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

問題是解決了,它留給放在session_val.php – CapAm

回答

1

對於帶您到另一頁的箭頭按鈕,您可以使用「onclick」使用Javascript來觸發它們。這將讓你獲取滑塊的值並將其作爲URL中的GET變量傳遞。

下面的代碼假定所有的頁面都在同一個目錄下,所以使用相對路徑。您可以輕鬆地適應您的實際文件結構 - 或者在必要時使用絕對路徑。

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}); 

}); 
+0

但是,如果我想存儲頁面之間的值?因爲如果我回到主視圖,值將會丟失,滑塊將以默認值啓動。這就是爲什麼我建議使用$ _SESSION,因爲我認爲存儲的值是 – CapAm

+0

好的,那麼你可能想使用ajax。 jQuery的.post()方法允許您將參數傳遞給服務器端腳本,並可以選擇使用返回的值進行操作。在這種情況下,當滑塊值發生變化時,您可以將新值傳遞給PHP腳本,該腳本將其簡單地添加到$ _SESSION變量中。然後,每當加載新頁面時,值就會在那裏。 –

+0

此解決方案完美無缺,但是如何從第二頁中檢索值?使用這個不行'$ message = $ _SESSION ['ex1'];' – CapAm

0

我建議你將輸入包裝在表單中。

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

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

當用戶提交您將通過$_POST['input1']在輸入訪問價值形態這樣。

您可以對其餘頁面採取類似的方法。你基本上是在實施一個多步驟的形式。

+0

在session_start()我不能用這個,因爲每個圖像是不同的鏈接,因此我需要3個鏈接 – CapAm