将变量从php页面传递到另一个使用javascript生成的php页面

时间:2013-04-13 22:28:14

标签: php javascript ajax

我有一个php页面(calendar.php),它使用javascript加载php日历(calendar_start.php)并在页面中心显示日历。

我正在尝试在calendar_start.php页面上获取变量,但是我无法访问我能够从calendar.php页面访问的变量。

下面的

是calendar.php上用于生成canendar_start.php的脚本之一:

<script language="javaScript" type="text/javascript">
function initialCalendar(){
    var hr = new XMLHttpRequest();
    var url = "calendar_start.php";
    var currentTime = new Date();
    var month = currentTime.getMonth() + 1;
    var year = currentTime.getFullYear();
    showmonth = month;
    showyear = year;
    var vars = "showmonth="+showmonth+"&showyear="+showyear;
    hr.open("POST", url, true);
    hr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    hr.onreadystatechange = function() {
        if(hr.readyState == 4 && hr.status == 200) {
            var return_data = hr.responseText;
            document.getElementById("showCalendar").innerHTML = return_data;
        }
    }
    hr.send(vars);
    document.getElementById("showCalendar").innerHTML = "processing...";
}
</script>

及以下是我正在生成日历的页面calendar.php的一部分:

<body onLoad="initialCalendar(<?php $_GET['page']; ?>);">

我无法抓取calendar_start.php上的变量,我真的很感激任何帮助。

最基本的问候, 莱恩

EDIT ::

这可能会有所帮助,当我尝试在calendar_start.php上显示变量时出现错误

注意:未定义的索引:C:\ wamp \ www \ project \ calendar_start.php中的页面

1 个答案:

答案 0 :(得分:0)

将$ _GET ['page']更改为$ _REQUEST ['page']。

$ _ REQUEST将$ _GET和$ _POST结合在一起(优先使用$ _POST)。这样,如果你将来改变它,你就不必担心向后的可联合性。

然而,将这些未经过限制的变量中的任何一个回应给用户浏览器是一个坏主意。

编辑:

虽然你的主要问题是忘记了变量前面的“echo”命令。