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

时间:2014-05-24 23:21:01

标签: javascript php html session-variables

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

enter image description here

我还希望将所选日期存储为session variable。任何人都可以指出我应该怎么做?可以在session variable内分配javascript吗?

到目前为止

代码:

<?php
session_start();

日期选择器

....
<script type="text/javascript">
window.onload = function(){
    g_globalObject1 = new JsDatePick({
        useMode:2,
        target:"inputFieldStart",
        dateFormat:"%Y-%m-%d",
        cellColorScheme:"armygreen"
    }); 

};
</script>

HTML表单

<form action="https://website" method="Post">
<input name="StartDate" type="text" id="inputFieldStart">
<input type="Submit" value="Update" class="button">
</form>

3 个答案:

答案 0 :(得分:1)

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

将其读取并设置为会话变量
<?php
$start_date = $_POST["StartDate"];
$_SESSION['start_date'] = $start_date;

?>

答案 1 :(得分:1)

将其设置为

的会话
 $_SESSION["date"] = $_POST["StartDate"];

to&#34;用javascript&#34;设置它使用AJAX。例如jQuery's $.ajax

答案 2 :(得分:1)

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

在PHP文档中(我们称之为date_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按钮以发送数据和您的呼叫。