2014-04-29 2 views
-1

저는 PHP, Javascript, Jquery (모바일)의 초보자입니다. Jquery Mobile에서 슬라이더를 만들고 Ajax를 사용하여 슬라이더의 값을 PHP 페이지로 출력하고 싶습니다. 그런 다음 PHP 페이지에서 값을 .txt 파일에 씁니다. Ajax 명령없이 슬라이더를 실행하지만 경고 (값)가 표시되면 값이 인쇄되므로 정상적으로 작동합니다.Ajax를 사용하여 PHP에 대한 자바 값

그러나 값은 .txt 파일에 도달하지 않으므로 여기에 뭔가 틀린 것이 있어야합니다. 이것은 나의 HTML/자바 스크립트 코드입니다

<script> 
    $(document).ready(function() { 
     $("#tempslider").on("slidestop", function() { 
      var graden = $(this).val(); 
      $.ajax({ 
       type: 'POST', 
       url: 'text.php', 
       data: 'graden', 
       success: function (output) { 
        alert(output); 
       } 
      }); 
     }); 
    }); 
</script> 
</head> 
<body 
<div data-role="page" id="thermostaat"> 
    <div data-role=header data-add-back-btn="true" data-back-btn-text="Terug"> 
    <h1>Thermostaat</h1> 
    </div> 
    <div data-role="main" class="ui-content"> 
    <form> 
     <label for="tempslider">Temperatuur instellen op:</label> 
     <input type="range" name="tempslider" id="tempslider" min="15" max="24" value="<?php $onoff = file_get_contents('/var/www/thermostaat.txt'); echo $onoff; ?>" data-show-value="true" data-popup-enabled="true" step="0.5" data-highlight="true"> 
    </form> 
    </div> 
    <div data-role="footer"> 
    <h1>Footer</h1> 
    </div> 
</body> 

그리고 이것은 당신이 볼처럼, 나는 "Graden의"의 값을 전달하려는 내 PHP 코드

<?php 
    $myFile = "thermostaat.txt"; 
    $fh = fopen($myFile, 'w') or die("can't open file"); 
    $stringData = $_POST['graden']; 
    fwrite($fh, $stringData); 
    fclose($fh); 
?> 

입니다.

[error] [client 192.168.1.6] PHP Notice: Undefined index: graden in /var/www/text.php on line 4, referer: http://192.168.1.202/switch.php 

내 코드의 문제점은 무엇입니까 : 내 아파치 로그에

내가 보면 다음 나는이 볼? 당신의 PHP Notice: Undefined index: 오류

사용 data: graden,

<script> 
    $(document).ready(function() { 
     $("#tempslider").on("slidestop", function() { 
      var graden = $(this).val(); 
      $.ajax({ 
       type: 'POST', 
       url: 'text.php', 
       data: { 
        'graden': graden 
       }, //send data object to the php 
       success: function (output) { 
        alert(output); 
       } 
      }); 
     }); 
    }); 
</script> 

솔루션에

답변

2

제거 ''따옴표는 isset();

if(isset($_POST['graden'])){ 

    $stringData = $_POST['graden']; 

} 
0

따옴표는 data:'garden'

Becaus에서 제거해야 e, 문자열로 전달하면 jQuery가 매개 변수로 간단한 단어로 전달하고 PHP 파일에서는 실제 데이터를 사용하지만 인용 부호를 사용하지 않으면 jQuery는이를 사용자가 만든 var garden VARIABLE로 간주합니다.

관련 문제