Javascript 从HTML表单输入字段设置php会话变量

Javascript 从HTML表单输入字段设置php会话变量,javascript,php,html,session-variables,Javascript,Php,Html,Session Variables,我有一个页面,它有一个javascript日期选择器,其结果进入HTML表单的输入框(见下图)。这个很好用 我还希望选择的日期存储在会话变量中。有人能指出我应该怎么做吗?能否在javascript中分配会话变量 迄今为止的代码: <?php session_start(); 需要在服务器上将会话变量设置为php变量。使用Post方法调用服务器的HTML表单将此变量传递到php页面,可以使用 <?php $start_date = $_POST["StartDate"]; $_SE

我有一个页面,它有一个
javascript
日期选择器,其结果进入HTML表单的输入框(见下图)。这个很好用

我还希望选择的日期存储在会话变量中。有人能指出我应该怎么做吗?能否在
javascript
中分配
会话变量

迄今为止的代码:

<?php
session_start();

需要在服务器上将会话变量设置为php变量。使用Post方法调用服务器的HTML表单将此变量传递到php页面,可以使用

<?php
$start_date = $_POST["StartDate"];
$_SESSION['start_date'] = $start_date;

?>

将其设置为与会话

 $_SESSION["date"] = $_POST["StartDate"];

要“使用javascript设置”,请使用AJAX。例如

会话变量不能直接用JavaScript分配,但是如果必须坚持使用JavaScript,可以使用AJAX向PHP文档发送创建/更改会话变量的请求

在PHP文档(我们称之为
date\u assign.PHP
)中,编写以下内容:

$date = $_POST['date'];
$_SESSION['date'] = $date;
然后在JavaScript中使用此函数(当然包括jQuery库)将请求发送到PHP文档

// Function to call in order to change session variable.
function sessionVariable() {

    // Get date from picker.
    var date = $('#inputFieldStart').value();

    // Create data string.
    var datastr = 'date=' + date;

    // Create the AJAX request.
    $.ajax({
        type: 'POST',
        url: 'date_assign.php',
        data: datastr
    });

}

当然,要做到这一点还有很长的路要走,但这意味着您可以使用JavaScript来完成。您可以在需要设置会话变量时调用该函数,这可以在一段时间间隔内完成,或者您可以将单击侦听器绑定到
Submit
按钮以发送数据,这就是您的调用。

您是对的,是的,但我要做的是在选择日期时设置会话变量。表单此时已加载。@PHP通常用于创建一个HTML文档,其中可以包含javascript—这只是PHP的一堆文本。您不能从javascript直接与PHP交互-您必须执行某种HTTP请求!如果将值保存在某个数据库中,请清理输入,否则以后会出现问题!
$date = $_POST['date'];
$_SESSION['date'] = $date;
// Function to call in order to change session variable.
function sessionVariable() {

    // Get date from picker.
    var date = $('#inputFieldStart').value();

    // Create data string.
    var datastr = 'date=' + date;

    // Create the AJAX request.
    $.ajax({
        type: 'POST',
        url: 'date_assign.php',
        data: datastr
    });

}