2016-03-31 15 views
0

Sorunum var, bir dizinin değerine eklemek için $_POST değişken almak istiyorum. Sonra onu json'a kodlayacağım. ancak $_POST değişkeni herhangi bir değer vermedi. İşte benim kodlarını : DÜZENLEME i kodlarını düzenlemek vermedi

<?php 
    $temp = isset($_POST['temp']) ? $_POST['temp'] : ''; 
    $arr["temp_display"] = $temp; 
    echo json_encode($arr); 

ve ben sonuç aynı durumda kullanmayı deneyin bu

{"temp_display": value_of_$temp} 

gibi olacak umuyoruz ama değerini ekleyin MySQL veritabanı için $ _POST ve Works. İşte kodu:

<?php 
    include("connect.php"); 
    $link=Connection(); 
    $temp=$_POST["temp"]; 
    $query = "INSERT INTO `templog` (`temperature`) 
    VALUES ('".$temp."')"; 
    mysql_query($query,$link); 
    mysql_close($link); 
    ?> 

DÜZENLEME İşte benim jquery kodu:

 $(document).ready(function() { 

     setInterval(update, 200); 

      function update(){ 

       var cache = $('.deneme').children(); 

       $.getJSON('json.php', function(data) { 
       $('.deneme').text(data.temp).append(cache); 

      }) 

     } 

    }); 

Ur yardım için teşekkür ederiz ...

+0

'$ arr' kimliği belirsiz? – RomanPerekhrest

+0

Tarihi almak için kullandığınız jQuery kodu. Bunu da gönder –

+0

$ arr ["temp_display"] = isset ($ _ POST ['temp'])? $ _POST ['temp']: ''; –

cevap

0

ilk kod bloğunda bu hat $temp=$_POST["temp"]; olarak gereksizdir Bir önceki satırda aynı şeyi yaptınız. Böyle var_dump yöntemi kullanarak json verilerini görüntüleyerek deneyebilirsiniz:

echo "<pre>"; 
var_dump(json_encode('$arr'); 
echo "</pre>"; 
+0

'dize (19)" {"temp_display": ""} "' Sonuç böyle değil, değer yok. Teşekkürler – markonah

0
<?php 
    $temp = isset($_POST['temp']) ? $_POST['temp'] : ''; 
    $arr["temp_display"] = $temp; 
    echo json_encode($arr); 
?>