用thinkphp做添加,跳转页即提示成功又提示模版不存在,但查数据库是添加了

用thinkphp做添加,跳转页即提示成功又提示模版不存在,但查数据库是添加了,第1张

1、从index页面的最新动态链接到event页面,要想显示右边栏,最简单的方法就是将超链接直接指向event页面,就像导航栏“动态”一样

2、但是你需要传递最新动态的eventID,所以event()函数应该增加接收eventID的内容

3、另外,你显示页面默认显示数据的方法getContentBy2()可以删除,将其内容整合到event()函数中,参考第2点,如果接收到eventID,说明是通过index的最新动态链接过来的,没接收到eventID则是直接访问的

综上所述,我给出event()函数的大致内容

public function event(){

// ... 你原先的内容

// 以下新增内容

$eventID = I("eventID",0,"intval")// 读取eventID,不存在则默认为0

if($eventID){

// 存在,即从index的最新动态链接过来

// ... 你原先index控制器getContent()函数的内容,注意display()那行就不要了

} else {

// 不存在eventID,即直接访问的,那就显示默认内容

// 也就是你原先getContentBy2()函数的内容,注意不用ajax返回,采用assign()赋值即可

}

}

相应的,前台需要修改的有:

①index页面最新动态的超链接

②删除event页面getContentBy2()的js代码

问题分析:

公共控制器和普通的控制器没什么本质上的区别。

在大部分的情况下。就是一个多次继承的关系。

公共控制器继承thinkphp的控制器。实际的控制器再继承公共控制器。

但是有一点需要注意的是,如果把公共控制器写在controller文件夹下的话。外部是能够访问到的。

推荐方案:

如果不是必须的情况下。尽量不要把公共控制器写在controller文件夹内。有以下2个方案。

1、使用分层控制器,这些分层控制器是不能够被URL访问直接调用到的。常用的分层命名为event。

2、使用trait引入的形式也是可以的。这是php5.4的新特性。thinkphp5在控制器内使用use直接引入。

以上2个方案具体实现方法,可以直接查阅thinkphp5的手册。有案例介绍。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11467047.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存