如何将div内容保存到PHP会话中?

时间:2014-07-12 18:46:36

标签: javascript php jquery ajax

我刚开始学习php&阿贾克斯,所以请保持温和。

我有一个可点击的内容。当用户单击地图时,点值显示在div中。在他选择一个点后,他可以进入下一步。

现在我想将div的内容保存到php会话中。如何将div内容放入php会话并继续下一步?

我试过了:

  $("#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'];
 ?>

但他什么都不做。我做错了什么?

2 个答案:

答案 0 :(得分:0)

你可以添加一个php脚本,它接收这个div的内容(用jQuery获取这个内容),然后将它存储在PHP session var中。

答案 1 :(得分:0)

像这样:

的index.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>

saves_div_content.php:

<?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 拥有唯一真正相关的代码,但我很容易提供完整的示例。

另一件可能混淆的事情是无关的AJAX机制。您可以使用POST方法(<form action="index.php" method="POST">)在 index.php 上创建该表单,并将 saves_div_content.php 中的代码添加到的index.php 。
您可以完全避免使用两个单独的文件。