我正在开发具有主文件index.php的网页,如下所示:
include('UserClass.php');
include('html/top.php');
$user = new User();
if (isset($_POST['user'], $_POST['pass']))
{
$user->login($_POST['user'], $_POST['pass']);
}
if ($user->logged != 1)
{
include('html/forms/login.html');
include('html/forms/register.html');
include('html/calendar.php');
}
include('UserClass.php');
include('html/top.php');
$user = new User();
if (isset($_POST['user'], $_POST['pass']))
{
$user->login($_POST['user'], $_POST['pass']);
}
if ($user->logged != 1)
{
include('html/forms/login.html');
include('html/forms/register.html');
include('html/calendar.php');
}
这是我的ajax脚本:
function nextMonth()
{
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("text").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET", "html/calendar.php", true);
xmlhttp.send();
}
当我点击触发nextMonth()的按钮时出现错误:
致命错误:在第41行的/var/www/.../html/calendar.php中的非对象上调用成员函数check_date()
这意味着对象用户不存在,所以我不能使用User类中的方法。在calendar.php中创建用户的新实例是不可能的,因为它是注销用户,每当他尝试将calndar视图更改为下个月时。在执行所有这些AJAX操作时,如何从index.php保存/传递对象?谢谢!
答案 0 :(得分:0)
你需要php层是有状态的,这是通过会话完成的。