2014-07-12 2 views
-1

방금 ​​PHP를 배우기 시작 & 아약스, 그래서 pls가 온화합니다.div 콘텐츠를 PHP 세션에 저장할 수 있습니까?

나는 클릭 할 수있는 콘텐츠가 있습니다. 사용자가지도를 클릭하면 점 값이 div에 표시됩니다. 한 지점을 선택하면 다음 단계로 넘어갈 수 있습니다.

이제 div의 내용을 PHP 세션에 저장하고 싶습니다. 어떻게하면 PHP 세션에 div 콘텐츠를 넣고 다음 단계로 진행할 수 있습니까?

$("#btn").click(function() 
{ 

    var red = $(this).attr("id"); 
    $(".tab").text(red); 

    $.post("backend.php", {"cpl": red}); 
}); 

Backend.php

<?php 
session_start(); 
$_SESSION['var1'] = $_POST['cpl']; 
?> 

을하지만 그는 아무것도 할 해달라고 :

나는이를 시도했다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

+0

어디에서 문제가 발생합니까? 귀하의 자바 스크립트에서 빨간색 var 올바르게 설정합니까? POST 데이터가 PHP로 올바르게 전송됩니까? 청취자가 올바르게 발사되고 있습니까? – WillardSolutions

+0

빨간색이 올바르게 설정되었습니다. POST 데이터가 올바르게 전송되지 않습니다. – user3676560

+0

.post – WillardSolutions

답변

0

이 div의 내용을받는 PHP 스크립트 (jQuery로이 내용 가져 오기)를 추가하고 PHP 세션 var에 저장할 수 있습니다. 그래서 같이

+0

jquery에 콘텐츠를 가져올 수 있습니다. 하지만 어떻게 PHP 세션에 저장할 수 있습니까? – user3676560

+0

예, PHP 스크립트는 게시물에서 HTML 콘텐츠를 받거나 값을 얻습니다.이 작업을 수행하는 데 문제가 없습니다 ... – user1039875

0

:

<?php 
session_start(); 
if($_SERVER['REQUEST_METHOD'] === 'POST') 
{ 
    if(isset($_POST['content']) && $_POST['content'] !== null && $_POST['content'] !== null) 
     $_SESSION['div_content'] = $_POST['content']; 
} 
/* EOF */ 

saves_div_content.php 유일한 정말 관련 코드를 가지고 있지만 I :

의 index.php saves_div_content.php이

<?php 
session_start(); 
?> 
<div id="someDiv"> 
    <em>This</em> is the content you'll store in session. 
</div> 

<div id="saveDivContent"> 
    Click here to store the content. 
</div> 

<pre> 
<?php var_dump($_SESSION); ?> 
</pre> 

<form id="hiddenForm" style="display:none"> 
<input type="hidden" id="sendDivContent" name="content"></input> 
</form> 

<script src="jquery.js"></script> 
<script> 
$(document).ready(function() { 
    $("#hiddenForm").bind("submit", function (event) { 
     $.ajax({ 
      async:true, 
      data:$("#hiddenForm").serialize(), 
      error:function (XMLHttpRequest, textStatus, errorThrown) { 
       console.log("Handle error."); 
      }, 
      success:function (data, textStatus) { 
       console.log("Handle success"); 
      }, 
      type:"POST", 
      // url:"save_content.php" 
      url:"\/link\/to\/file\/that\/saves_div_content.php" 
     }); 
     return false; 
    }); 
    $("#saveDivContent").bind("click", function (event) { 
     var divContent = $("#someDiv").html(); 
     $("#sendDivContent").val(divContent); 
     $("#hiddenForm").submit(); 
     return false; 
    }); 
}); 
</script> 

완전한 예를 드는 경향이 있습니다.

혼란 스러울 수도있는 또 다른 사항은 관련없는 AJAX 메커니즘입니다. POST 메서드 (<form action="index.php" method="POST">)로 index.php에 폼 포인트를 만들고 index.php의 머리에 saves_div_content.php의 코드를 추가하십시오.
두 개의 개별 파일 사용을 완전히 피할 수 있습니다.

관련 문제