将提交的表单值另存为Cookie

时间:2019-04-23 12:31:10

标签: php wordpress forms session session-cookies

现在,我使用app.use('/static', express.static(__dirname + '/components')); // server.js and components are in the same folder // Then in your html you could simply, notice the absolute path <script src="/static/foo.js" type="module"></script> 存储会话变量,例如:

jQuery

在我的$("form#sessie_datum").change(function() { var str = $("form#sessie_datum").serialize(); $.ajax({ type: 'POST', url: 'http://URL.com/datum.php', data: $("form#sessie_datum").serialize(), dataType: 'text', success: function() { alert('Variables has been stored in the session'); }, }); return false; }); 文件中,按名称获取提交的值, 这是我的datum.php

form

<form id="sessie_datum"> <input type="text" class="aantal_alpincenter" name="personen_aantal" value=""> <input type="text" id="datepicker2" placeholder="Click to choose a date" name="wapbk_hidden_date" value=""> <div id="datepicker"></div> </form> 在下面

datum.php

在每个<?php session_start(); $_SESSION["chosen_date"] = $_POST['wapbk_hidden_date']; $_SESSION["personen"] = $_POST['personen_aantal']; ?> 文件中,我都可以获取会话变量,例如:

php

我不想使用session_start(); $date = htmlentities($_SESSION["chosen_date"]); ,而是想使用session_start();,这样就可以避免与cookies插件发生冲突,并使变量在用户的计算机上存储1天,例如。有人知道如何使用caching来做到这一点吗?

1 个答案:

答案 0 :(得分:0)

您可以使用setcookie()功能保存cookie。

使用PHP仅将所有POST数据保存到cookie就是这样的

<?php 
// Check if request method is post
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
  foreach ($_POST as $key => $value) {
    // If you wanna modify key text, you may do so like this:
    switch ($key) {
      case 'wapbk_hidden_date':
        $cookie_key = 'chosen_date';
        break;

      case 'personen_aantal':
        $cookie_key = 'personen';
        break;

      default:
        $cookie_key = $key;
        break;
    }

    // Saves cookie for 1 day on this domain
    setcookie($cookie_key, $value, time()+3600*24, "/");
  }
}

然后,当您要使用cookie时,请使用全局变量$_COOKIE来获取它:

$date = htmlentities($_COOKIE['chosen_date']);