2016-12-09 6 views
-1

토글 스위치의 값을 내 URL로 보내고 PHP로 검색하려고합니다. 코드가 작동 중입니다. 문제는 내가 페이지를 변경하거나 뒤로 버튼을 사용하여 토글 스위치가 작동하도록 페이지를 다시로드해야 할 때마다이지만 같은 페이지에 머무르는 것이 나을 때입니다. 뭐가 잘못 됐니?토글 스위치에서 값 가져 오기가 일관되지 않음

이 내 코드 : 내가 그것을로의 일부를 이동하여 작동있어

<?php 
    $status_water = $_GET['water_swicth']; 
    $status_light = $_GET['light_swicth']; 
    $status_air = $_GET['air_swicth']; 

    if ($status_water == "on") 
     { $water_on = "selected"; 
      $file = fopen("light.json", "w") or die("can't open file"); 
      fwrite($file, '{"water": "on", "light":off, "air":off}'); 
      fclose($file); 
     } 
    if ($status_water == "off") { 
     $file = fopen("light.json", "w") or die("can't open file"); 
      fwrite($file, '{"water": "off", "light":"off", "air":off}'); 
     fclose($file); 
    } 
    ?> 
    <html> 

    <head> 
     <meta name="viewport" content="width=device-width, initial-scale=1"> 
     <link rel="stylesheet" href="css/MyTheme.min.css" /> 
     <link rel="stylesheet" href="css/jquery.mobile.icons.min.css" /> 
     <link rel="stylesheet" href="css/jquery.mobile.structure-1.4.5.min.css" /> 
     <script src="http://code.jquery.com/jquery-1.11.3.min.js"></script> 
     <script src="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script> 
    </head> 

    <body> 
     <div data-role="footer"> 
      <div data-role="navbar"> 
       <ul> 
        <li style="font-size: 14px;">Water 
         <div id="water_switch"> 
          <select name="water" id="water" data-role="flipswitch" data-mini="true"> 
           <option value="off" myTag="off">Off</option> 
           <option value="on" myTag="on" <?php echo $water_on; ?>>On</option> 
          </select> 
         </div> 
        </li> 
      </div> 
     </div> 
     </div> 
     <script type="text/javascript"> 
      $(document).ready(function() { 
       $('#water_switch').on('click', function() { 
        var checkStatus = $('option:selected', this).attr('mytag'); 
        window.location.href = "stats.php?id=<?php echo $id; ?>&water_swicth=" + checkStatus; 
       }); 
      }); 
     </script> 
    </body> 

    </html> 
+0

쿠키 나 세션 데이터를 저장하는 앞으로 방법이 될 것입니다 . – Kitson88

+0

내 문제는 데이터를 저장하는 것과 관련이 없습니다. 왜냐하면 같은 페이지에서 곧 작동하기 때문에 데이터를 추적 할 필요가 없습니다. 내 문제는 페이지에서 벗어날 때 스크립트가 작동하지 않는다는 것입니다. 나는 페이지를 새로 고쳐야한다. 일종의 스크립트가 작동하도록 스크립트를 다시 시작해야한다. – mounim

답변