【问题标题】:Manipulating POST variables received via form submit inside Serverside PHP Code在服务器端 PHP 代码中操作通过表单提交接收的 POST 变量
【发布时间】:2013-08-05 04:16:10
【问题描述】:

我可以在服务器端 PHP 代码中操作 POST 请求吗?

我正在使用 PHP 和 Codeigniter 。

我在控制器内部定义了一个函数,该函数通过 POST 从 FORM 接收一些数据。

public function primary_fn(){

// Gets called on form submit - POST

// Some Logic 

// Case 1 : call sec_fn1()
// Case 2 : call sec_fn2()
// Case 3 : Call sec_fn3()

}

现在我已经在处理 POST Data 的模型中编写了几个函数。

public function sec_fn1(){

// Processing POST data

}

public function sec_fn2(){

// Processing POST data

}

public function sec_fn3(){

// Processing POST data

}

我没有将任何参数传递给辅助函数。他们通过与此类似的语句直接访问 POST 请求中的值 -

$x = $this->input->post('name') ; 

现在我有一些要求,这让我想在某些情况下操作 POST 请求中的数据。由于辅助功能太多,我不想更改它们的代码。我可以在主函数的 POST 请求中操作数据,并让辅助函数使用更改后的数据吗?

【问题讨论】:

    标签: php forms codeigniter post http-post


    【解决方案1】:
    Can I manipulate the POST request inside serverside PHP code ? 
    

    是的,你可以。您可以像设置任何其他变量一样设置 $_POST 的值。

    $_POST['name'] = 'Some new value';
    

    【讨论】:

    • 酷。感谢您的快速回复!
    • @mad.geek 不客气。这就是你要找的东西。在进行表单验证之前,我必须在 CodeIgniter 中将值更改为基于其他值的其他值。
    • 是的。这就是我要找的东西 :) 我不确定你是否被允许操纵它。
    【解决方案2】:

    这不是一个好主意,也不是手动操作全局变量的最佳编程实践。 $_POST 必须用于处理从浏览器发送到服务器的数据。

    尝试创建自己的全局变量来操作数据,而不是直接操作 $_POST。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-09
      • 1970-01-01
      • 2017-01-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多