如何在单击提交按钮时创建php会话变量?

时间:2014-02-01 05:53:06

标签: php jquery ajax session-variables

我有一个使用简单提交按钮的表单。现在我想点击提交按钮创建一个php会话变量。当有人点击提交按钮时,会调用一个函数来检查是否创建了该会话变量,如果创建了其他内容,则创建新的会话变量。

example--

<input type=submit onclick="sess()">

<script>
  function sess() {
    if (session varaiable exist) {
      do something
    }
    else {
     create new session variable
    }
  }
 </script>

这就是我想要实现的目标。 为此,我使用以下代码 -

<input type="submit" id="div_session" />

<script type="text/javascript">
    $('#div_session').bind('click', function() {

        $.ajax({

            type: 'POST',
            url: 'session_write.php',
            data: {cart_items: 'fffg'},
            success: function(data) { $('#cart').html("asd"); alert("cart1");},
            error: function(ts) { alert(ts.responseText) }
        });
    });
</script>

session_write.php

<?
session_start();

$_SESSION['cart_items'] = $_POST['cart_items'];
//echo $_SESSION['cart_items'];
?>

1 个答案:

答案 0 :(得分:0)

试试这个:

<?php session_start(); ?>
<form action="" method="POST">
 <input type="submit" name="submit" value="Submit">
</form>
<?php
if (isset($_POST['submit'])===true) {
 if (isset($_SESSION['cart_items'])===true) {
    //Session is set, do anything here
 } else {
    //Session is not set, setting session now
    $_SESSION['cart_items'] = $_POST['cart_items']; //Session is now set
 }
}
?>

你需要设置$ _POST ['cart_items'],因为它没有在这个简单的脚本中声明。我希望这可以帮助你!