将javascript变量分配给php变量并将其发布到另一页面上

时间:2016-10-23 09:16:06

标签: javascript php fullcalendar

评论:Ajax补充道 将javascript变量分配给php变量并将其发布到另一页

我使用Fullcalendar(javascript)。当您单击该事件时,它会打开一个包含其内容的表单。

$date_now = new DateTime();
$date     = new DateTime('2014-04-01 00:00:00');

$interval = $date_now->diff($date);

if($interval->y > 0) {
    echo "More than a year";
    echo "<br>";
    $display_date = $date->format('M d Y h:i:s');
} elseif($interval->m > 0) {
    echo "More than a month";
    echo "<br>";
    $display_date = $date->format('M d h:i:s');
} else {
    // Call your existing function
}

我想这样做当你点击事件时它打开另一个php页面并在其中显示其数据。我想通过会话发布值,但我不知道如何将javascript变量分配给php变量。

eventClick: function(calEvent, jsEvent, view) {    

content.val(calEvent.content); //content of event
$('#event').show(); 
formOpen('edit');

},

P.S:ajax没有用,因为我觉得我有点特殊情况。

eventClick: function(calEvent, jsEvent, view) {

var content = content.val();

<?php
print <<<HERE
location.href = 'anotherpage.php?id=$_SESSION[id]';
HERE;
?>

<?php
$content = content;
$_SESSION['content'] = $content;
?> 

},

1 个答案:

答案 0 :(得分:0)

使用AJAX:

ajax将在引擎盖下发送数据。

Ajax框架:

在日历页面上的<script>下添加此框架作品。

function ajaxObj(meth, url) {
    var x = new XMLHttpRequest();
    x.open(meth, url, true);
    x.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    return x;
}
function ajaxReturn(x){
    if(x.readyState === 4 && x.status === 200){
        return true;    
    }
}

使用方法:

在您的日历页面上:

eventClick: function(calEvent, jsEvent, view) {

var content = content.val();

var ajax = ajaxObj("POST", "Currunt_page_url.php");
        ajax.onreadystatechange = function() {
            if(ajaxReturn(ajax) == true) {

            }
        }
//sends data by POST method to ur url page
        ajax.send("contents="+contents);

}

在日历页面的开头添加:

<?php

if(isset($_POST['contents'])){
//save data of contents into session
$SESSION['contents']=$_POST['contents'];
location.header='URL_of_php_page.php';
//access session['id']/session['contents'] on your php page though session variables.
exit();

}
?>