При изменении формы получить значение и установить в качестве переменной сеанса - PullRequest
0 голосов
/ 31 января 2020

У меня есть эта форма:

<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>

Я хочу получить значение при изменении даты в DatePicker. Я получаю это с помощью:

$("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?

данные. php файл выглядит так:

<?php
session_start();

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

?>

1 Ответ

0 голосов
/ 31 января 2020

Вот вам краткий рабочий пример, основанный на вашем коде:

HTML (дата. 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 (данные. 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.

Поместите оба файла в одну папку на веб-сервере и наблюдайте за консоль при внесении изменений в поле ввода (при размытии).

...