php - 当两个按钮应该以相同的方法处理时,在 codeigniter 控制器中生成唯一 id 的位置
问题描述
我的要求是为每个登录会话生成唯一的代码,该代码将在整个应用程序周期中使用。但它应该只在单击打开表单的按钮后生成一次。我有一个 codeigniter 3.11 应用程序,其中我有一个带有 2 个提交按钮的表单。我正在使用 $this->input->post('buttonid') 为 2 个按钮中的每一个处理基于 buttonid 的操作。两个按钮都使用 index() 方法下的 if 条件进行处理。我只想在用户第一次使用索引方法时生成唯一 ID。通过从另一个视图页面单击“添加新”按钮打开页面时,将调用此索引函数一次。稍后在当前视图中单击 buttonid1 和 buttonid2 按钮时,将调用 index 方法并执行适当的块。由于应用程序逻辑,相同的方法会被多次调用,并且两个按钮之一需要处理该操作。因此在 if($this->input->post('buttonid')) 条件中生成代码不符合我的目的,因为它将被多次调用。所以我不确定在哪里调用唯一代码生成函数,以便它服务于我上面提到的目的。为了清楚起见,我给出了我的控制器的伪代码
function index() {
// some basic code
///-- place 1
if(user logged in ) {
if($this->input->post('buttonid1'))
{
///-- place 2
// do task assigned to button id 1
//load updated view1
}
else if($this->input->post('buttonid2'))
{
///-- place 3
// do task assigned to button id 2
//load updated view2
}
}
else
{
// redirect to page asking to login
}
}
在标记为位置 1,2 和 3 的位置中,我可以调用唯一 ID 生成函数。但是在任何地方它都会被多次调用,但我只想在第一次单击调用 index() 函数的按钮时调用它一次。请帮我。提前致谢
解决方案
推荐阅读
- arrays - 为什么在许多语言中,我们必须释放动态数组而不是静态数组?
- session - 如何使用隐式对象在 JSF facelet(xhtml 文件)中显示 cookie 值;“曲奇饼”
- ios - 在swift 3中传递地址时在地图中获得“无法提供方向”?
- hiveql - 我有一个 hive 表,在 hive 中有 5 列,并且没有为该表加载数据,并且该表未分区
- node.js - 拥有 AWS Lightsail 节点映像,需要连接到 AWS RDS 上托管的 postgres
- debugging - 在tensorflow调试器->invoke_stepper中,`[H]`代表什么?
- java - 子句中的 Spring JPA 抛出操作数应包含 1 列
- django - 我的 django 序列化程序 def Update 应该是什么样的?
- spring - Spring批处理,在哪里/如何保存有关作业的元数据
- javascript - React 路由器在快速服务器上不起作用