这是我第一次玩ajax和物体,所以请放轻松我
我有3个页面组成了测试者购物车。
1)带有'add''删除'按钮和ajax代码的页面,用于调用第2页的PHP函数。这是带有HTML输出的实际用户页面。
2)带有PHP购物车函数调用的页面,从第1页的ajax接收$ _GET请求,并从第3页调用cart对象的函数,将结果返回到第1页。
3)带有购物车对象定义的页面。
这是我相信我遇到的问题。目前我在第1页和第1页上有'session_start()' pgs 1& 2上的购物车定义(第3页) 2.我只在第2页上定义了'$ _SESSION [cart] = new Cart'。但是,似乎每次我点击一个ajax函数(例如,每次pg 2重新加载),它似乎都在重写$ _SESSION ['cart' ]重复一次,因此每次新点击时它总是空的(即使它显示该点击的结果)
但是,如果我没有在第2页定义'$ _SESSION [cart] = new Cart',我会收到错误:
致命错误:main()[function.main]: 该脚本试图执行一个方法 或访问不完整的财产 宾语。请确保上课 定义“购物车”的 你试图操作的对象 在 unserialize()获取之前加载 调用或提供__autoload() 函数加载类定义 在 /home3/foundloc/public_html/booka/carti.php 第17行
有什么建议吗?每当我的第2页(php购物车功能页面)被ajax调用时,我怎么能停止重新创建我的购物车?
答案 0 :(得分:0)
你能这样做吗?
session_start();
if ( ! isset($_SESSION['cart'])) {
$_SESSION['cart']= new Cart;
}
答案 1 :(得分:0)
根据您对alex' answer的评论:在致电Cart
之前,您需要包含session_start()
课程的定义。
您可以看到,当您调用session_start()
时,会话数据被反序列化并放入全局$_SESSION
哈希值。因此,它事先需要任何外部类定义。