小编Mac*_*ddy的帖子

带有不完整对象的PHP会话

我收到一个错误,我不知道如何解决,所以我想知道我是否能得到一些帮助.

这是错误

Fatal error: process_form() [<a href='function.process-form'>function.process-form</a>]: The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition &quot;Template&quot; of the object you are trying to operate on was loaded _before_ unserialize() gets called or provide a __autoload() function to load the class definition in /home/twinmeddev/html/template_add.php on line 44
Run Code Online (Sandbox Code Playgroud)

我在process_form()函数中遇到此错误.所以我从中得到的是,它认为我没有为模板加载类.事实上,我在顶部做了什么.包含'inc/item.class.php'; 我是否必须在功能中重新包含它?

这是带有错误的特定页面的代码.你可以看到我拥有应有的一切.我哪里出错了?

<?php
include 'inc/prep.php';
include 'inc/header.class.php';
include 'inc/item.class.php';
include 'inc/template.class.php';
include 'inc/formhelper.class.php';
include 'inc/formvalidator.class.php';
include_once( 'inc/config/config.php' ) ;
include_once( …
Run Code Online (Sandbox Code Playgroud)

php session object

36
推荐指数
3
解决办法
6万
查看次数

PHP:分离业务逻辑和演示逻辑,值得吗?

可能重复:
我为什么要在PHP中使用模板系统?

我只是好奇有多少开发者真的这样做了?

到目前为止,我还没有,我只是好奇它是否真的有助于使事情看起来更清洁,更容易遵循.我听说像Smarty这样的模板引擎有帮助,但我也听到了相反的情况.他们只是创造了不必要的开销,而且就像学习一门新语言一样.

这里有人有模板经验吗?你对他们有什么感受?对大项目有帮助还是浪费时间?

在旁注:我工作的公司没有设计师,只有两个开发人员在这个项目上负责重新设计/升级.我也使用了一些AJAX,这会有模板引擎的问题吗?

html php templates

4
推荐指数
2
解决办法
1602
查看次数

PHP会话混乱

好吧,我很困惑.我有一个存储在会话中的对象.我可以添加项目到这个对象.到目前为止很简单.我像这样初始化对象:

$template = new Template($mysqli);
$_SESSION['template'] = serialize($template);
Run Code Online (Sandbox Code Playgroud)

现在,这应该创建一个品牌打击新对象并将其分配给会话.然后我有一些代码通过AJAX请求添加项目.该代码如下:

$template = unserialize($_SESSION['template']);
$prodid = $_GET['product_id'];
$template->addItem($prodid);
echo var_dump($template->getItems());
$_SESSION['template'] = serialize($template);
Run Code Online (Sandbox Code Playgroud)

再说一遍,应该很简单.现在问题是,第一位代码没有重置$_SESSION['template'],所以我得到了迄今为​​止我添加的所有项目,重新加载页面并没有修复它.

我找到了导致恶作剧的文件,但我不知道我能做些什么.它是一个包含,它是网站不同部分运行所必需的.我正在为网站添加功能,如果我删除功能,我不认为所有者会讨厌.这是文件:

<?php

include_once( 'DBE.class.php' ) ;

################################################
# Function: Sessions_open
# Parameters: $path (string), $name (string)
# Returns: bool
# Description: This is an over-ride function call
#       that we need to create so that the php internal
#       session manager doesn't store our session in the
#       file system, since we are storing it in …
Run Code Online (Sandbox Code Playgroud)

php session class

3
推荐指数
1
解决办法
6693
查看次数

innerHTML的替代品

我觉得我在用我的代码滥用DOM ...

for(var i=0; i<json.length; ++i){       
    var newobj = document.createElement("div");
    var inner = "<img src='"+json[i].picture+"' alt='Item preview' class='icon' />";

    inner += "<p>"+json[i].id+"<br />qty:"+json[i].qty;
    inner += "<a href=\"javascript:clearProduct('"+json[i].id+"')\">";
    inner += "<img alt='Seperator' src='images/form-sep.gif' />";
    inner += "<img src='images/cross.png' alt='Remove this item.' title='Remove this item.' />";
    inner += "</a></p>";
    newobj.innerHTML = inner;
    newobj.className = "cart_item";
    $('cartitems').appendChild(newobj);
    $('cartcount').innerHTML = json.length;
}
Run Code Online (Sandbox Code Playgroud)

有一个更好的方法吗?我的意思是,是的,我可以通过并为每个元素使用createElement并分别设置每个属性,但这看起来很简单.有没有更好的办法?

javascript ajax json prototypejs

1
推荐指数
1
解决办法
3144
查看次数

表单中输入的多个值?

好吧,让我先举一个例子.我有很多项目,他们可以分为一系列类别.项目可以是多个类别.基本上我所拥有的是具有按类别分组的复选框的项目列表.同样,项目可以出现多次.所以它可能看起来像:

蓝色物品:第1项第2项第3项

红色物品:第1项第4项

因此,每个项目旁边都有一个复选框,用于删除项目类别关联.我应该在输入值中存储什么,以便区分不同类别的项目?我的意思是我不能使用项目编号,因为它可以出现在多个类别中.我可以做类似"blue-item2"之类的东西然后当我使用我的服务器端脚本通过表单分割值字符串" - ",但这似乎有点不确定.

对不起,如果问题有点模糊.如果需要,我可以澄清一点.

html php forms

1
推荐指数
1
解决办法
4499
查看次数

标签 统计

php ×4

html ×2

session ×2

ajax ×1

class ×1

forms ×1

javascript ×1

json ×1

object ×1

prototypejs ×1

templates ×1