在更改表单上获取值并设置为会话变量

问题描述 投票:0回答:1

我有此表格:

<form id="sessie_datum" method="post">
<input type="text" id="datepicker" placeholder="Klik hier om een datum te kiezen" name="wapbk_hidden_date" value="">
</form>

我想获取更改日期选择器中日期的值。我得到这个:

$("form#sessie_datum").change(function() {
            $.ajax({
                type: 'POST',
                url: '/datum.php',
                data: $("form#sessie_datum").serialize(),
                dataType: 'text',
                success: function() {
                    alert('Success');
                }
            });
});

它给了我Success alert,但是现在我需要在datum.php文件中做什么才能在session变量中设置值?

datum.php文件是这样的:

<?php
session_start();

    $_SESSION["datum"] = $_POST["wapbk_hidden_date"];  
    echo $_SESSION["datum"];

?>
php jquery session post session-variables
1个回答
0
投票

这里是一个简短的示例,根据您的代码:

HTML(datum.html):

<html>
    <head>
        <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
    </head>
    <body ng-app="myApp">
        <form id="sessie_datum" method="post">
            <input type="text" id="datepicker" placeholder="Klik hier om een datum te kiezen" name="wapbk_hidden_date" value="">
        </form>
        <script>
            $("#datepicker").change(function () {
                $.ajax({
                    type: 'POST',
                    url: 'datum.php',
                    data: $("#sessie_datum").serialize(),
                    dataType: 'text',
                    success: function (data) {
                        console.log('success!');
                        console.log(data);
                    },
                    error: function(data){
                        console.log('error!');
                        console.log(data);
                    }
                });
            });
        </script>
    </body>
</html>

PHP(datum.php):

<?php
    session_start();
    if(isset($_POST['wapbk_hidden_date'])){
        $_SESSION['datum'] = $_POST['wapbk_hidden_date'];
    }

    if(isset($_SESSION['datum']) && strlen($_SESSION['datum']) > 0){
        echo $_SESSION['datum'];
    }else{
        echo 'No datum yet defined.';
    }
?>

控制台输出:

datum.html:17 success!
datum.html:18 This string is coming from the HTML input.

将两个文件放置在Web服务器上的相同文件夹中,并在输入字段中进行更改(模糊时)时观察控制台。

© www.soinside.com 2019 - 2024. All rights reserved.