2012-06-16 22 views
13

Tôi có đoạn mã sau khi người dùng nhấp vào phần tử 'generate' dữ liệu trong biểu mẫu 'serializeData' được đăng trong js. Chuỗi này được chuyển tới hàm loadTemplate, nó sẽ biến chuỗi đó thành POST với các biến khác thành một tập lệnh php để xử lý.PHP unserializing một chuỗi serialized của biến số

Những gì tôi đang tìm kiếm là một cách để unserialize chuỗi js trong PHP hoặc thực hành tốt nhất để có được các dữ liệu, đây là một ví dụ đầu ra của dữ liệu serilized như đã thấy trong PHP như là một chuỗi: -

Input1 = họp & Input2 = chọn + ngày & Input3 = nhập + văn bản & Input4 = SỐ + MISSING

dạng dữ liệu tuần tự được truyền PHP ở khía cạnh chức năng loadTemplate trong biến userData.

Chức năng: -

$("#generate").click(function() { 
    if (eCheck == true) { 

     var templateData = $("#serializeData").serialize(); 
     var templateID = $("#serializeData").attr("name"); 

      loadTemplate(this, templateID, 3, templateData)   
    } 
    return false; 
}); 


function loadTemplate(obj, cat, call, userData) { 
userData = typeof userData !== "undefined" ? userData : null; // Set userData to null if undefined. 
var onSuccess = "#right"; 

if (call == 1) { 
    onSuccess = "#left"; 
     switchButton(obj); 
      $("#content").hide(); 
      $("#right-content").text(""); 
} 

$("#loading").show(); 

$.ajax({ 
    type: "POST", 
    url: "./scripts/load.php", 
    data: { id : cat, call: call, userData: userData }, 
    cache: false, 
     success: function(html){ 
     $(onSuccess + "-content").html(html); 

     if (onSuccess == "#left") { 
      $("#content").fadeIn(500); 
     } 
      $("#loading").fadeOut(500); 
      resizeAll(); 
    } 
}); 

} 

Bất kỳ suy nghĩ?

Trả lời

35

Bạn có thể sử dụng parse_str:

$values = array(); 
parse_str($_POST['userData'], $values); 
echo $values['input1']; //Outputs 'meeting' 
+0

nhờ Brilliant cả hai, đã cho điều này là câu trả lời vì nó đã đưa ra một chút ở những câu trả lời. Cảm ơn các bạn. – KryptoniteDove

4

Tôi nghĩ parse_str là những gì bạn cần.

Các vấn đề liên quan