tom*_*ato 2 php forms oop session
我有一个多页面表单,我试图在我的网站上实现这样的工作:
1输入客户详细信息 - $ _POST - > 2确认客户详细信息 - $ _ SESSION - > 3从客户详细信息生成PDF
正如你在我的第二页上看到的那样,我从$ _POST获得了我的表单中的值.在同一页面上,我从我的类customer创建一个名为"customer"的对象,该对象存储从我的第一页发布的所有值.
然后我设置一个名为"customer"的$ _SESSION变量并将其分配给我的对象.
session_start();
//includes html header part of page
include("includes/page/header.php");
//customer class
include("classes.php");
$customer = new customer();
$_SESSION['customer'] = $customer;
Run Code Online (Sandbox Code Playgroud)
现在,在我网站的最后一页上,我有以下代码:
session_start();
//assign customer to equal object stored in session
$customer = $_SESSION['customer'];
//to test if successfull , nothing is displayed!
echo $customer->first_name;
return 0;
Run Code Online (Sandbox Code Playgroud)
我的页面上没有显示任何测试,所以我的会话没有按照我的想法做.
供参考:
最后一页上的会话var_dump.
object(__PHP_Incomplete_Class)#1 (15) { ["__PHP_Incomplete_Class_Name"]=> string(8) "customer" ["first_name"]=> string(5) "Iain" ["second_name"]=> string(6) "Taylor" ["company_name"]=> string(10) "Wired Ltd." ["address_1"]=> string(15) "14 Joseph St" ["address_2"]=> string(8) "West End" ["city"]=> string(7) "Glasgow" ["postcode"]=> string(7) "G45 NP4" ["county"]=> string(29) "Scotland" ["country"]=> string(14) "United Kingdom" ["email"]=> string(31) "somebody@somebody.com" ["phone"]=> NULL ["cid"]=> NULL ["reg_date"]=> NULL ["tel"]=> string(11) "01413395678" }
Run Code Online (Sandbox Code Playgroud)
任何想法如何让这个工作?
谢谢
圣诞节快乐!
您需要include("classes.php");
在最后一页上执行此操作session_start()
,因为在反序列化会话变量时,PHP会尝试实例化您在会话数据中放入的同一个类的对象.因此,如果PHP无法找到该类,则会引发错误.
归档时间: |
|
查看次数: |
532 次 |
最近记录: |